Telegram Web
شرح 2.pdf
68.8 KB
الشرح الذي في الاعلى في ملف pdf
الرجاء اخذ الحيطة والحذر
اول حالة في حضرموت
برمجة تطبيقات الويندوز C# Programming
الرجاء اخذ الحيطة والحذر اول حالة في حضرموت
الصراحة انا متشائم من تصنيف جوجل ماقد معانا الا حالة وقد احنا في الصدارة
برمجة تطبيقات الويندوز C# Programming
الرجاء اخذ الحيطة والحذر اول حالة في حضرموت
التصنيف تم على حسب البلاد التي انت فيها

اذا قمت بتغيير موقعك الى الولايات المتحدة او اي دولة اخرى باحدى برامج vpn فسوف يتم اظهار البلاد التي قمت بتغيير موقعك اليها في التصنيف الاول
لاحظ عندما غيرت الموقع الى الولايات المتحدة
الهدف من البوت وسيلة تواصل بين مشرفي القناة واعضاء القناة

لتلقي اسئلتكم واستفسارتكم بكل مايخص البرمجة
مواضيع لم تفهمها
مشاركتكم بالمشاريع الخاصة بكم للقناة وسيتم نشرها للجميع




البوت الخاص بالقناة .
https://www.tgoop.com/CsharpWindowsFormbot
👍1
برمجة تطبيقات الويندوز C# Programming pinned «الهدف من البوت وسيلة تواصل بين مشرفي القناة واعضاء القناة لتلقي اسئلتكم واستفسارتكم بكل مايخص البرمجة مواضيع لم تفهمها مشاركتكم بالمشاريع الخاصة بكم للقناة وسيتم نشرها للجميع البوت الخاص بالقناة . https://www.tgoop.com/CsharpWindowsFormbot»
بسم الله الرحمن الرحيم



اليوم سوف نشرح الطريقة الأخرى من انشاء أداة تحكم خاصة بك
الطريقة التي شرحناها سابقاً كانت عنطريق الوراثة
الطريقة هذه ستكون عنطريق User Control
المثال الذي سيتم شرحه لموضوع اليوم

انشاء أداة شريط التقدم Progress Bar مع إضافة ميزة جديدة لهذه الأداة
وهي اظهار النسبة المئوية لشريط التقدم تابع معي .....

قم بانشاء مشروع بعد ان يتم فتح المشروع اذهب الى قائمة project و اختار
Add User Control

في واجهة تصميم User Control قم بإضافة
ProgressBar
Lable
بهذا الشكل:1



قم بإضافة الأدوات
ابدا ProgressBar
وقم بتعديل خصائصها أولا ومن ثم قم بإضافة lable واعمل الخصائص كما في الشكل

بعد ان تتم بإضافة الأدوات وتعديل خصائصهن
اضغط F7 للدخول الى الكود لبدء البرمجة

public int Value
{
get { return Bar.Value; }
set
{
Bar.Value = value;
UpdateLabel();
}
}
Bar هو اسم أداة التحكم ProgressBarالتي اضفناها وغيرنا اسمها الى Bar
نكتب الكود بشكل كامل



public int Value
{
get { return Bar.Value; }
set
{
Bar.Value = value;
UpdateLabel();
}
}
public int Maximum
{
get { return Bar.Maximum; }
set { Bar.Maximum = value; }
}
public int Step
{
get { return Bar.Step; }
set { Bar.Step = value; }
}
public void PerformStep()
{
Bar.PerformStep();
UpdateLabel();
}
private void UpdateLabel()
{
label1.Text = (Math.Round((decimal)(Bar.Value * 100) /
Bar.Maximum)).ToString();
label1.Text += "% Done";
}

توفر أداة التحكم المخصص الوصول الى ثلاث خصائص من أداة التحكم ProgressBar

(القيمة & الحد الأقصى & الخطوة ) ودالة تقوم بتنفيذ الخطوة (النسبة المئوية)

في كل مرة يتغير شريط التقدم (إما عن طريق تعديل الخاصية Value أو استدعاء
الدالة PerformStep ())
تقوم الخاصية او الدالة باستدعاء الدالة UpdateLabel ()
والتي
تغير النسبة المئوية لتعكس التقدم الحالي. هذا يضمن أن lable دائمًا
يظل متزامنًا تمامًا مع شريط التقدم

بعد الانتهاء من برمجة الأداة
اضغط Ctrl+Shift+B
لكي يتم بناء المشروع واضافة الأداة الجديدة الى ToolBox

الان ارجع الى واجهة التصميم Form1 واضف الأداة الخاصه بك من ToolBox

واضف هذه الأداة الى الفورم timer
قم بتعديل خصائص timer
Enabled = true
Interval = 1000

افتح حدث Tick للاداة Timer

واكتب الكود التالي

private void timer1_Tick(object sender, EventArgs e)
{
userControl11.PerformStep();
if (userControl11.Maximum == userControl11.Value)
{
timer1.Stop();
}
}


Run
👍1
هل قمت بعمل برنامج الاله الحاسبة من قبل
Anonymous Poll
50%
نعم
50%
لا
الهدف من هذا الاستطلاع هو مساعدة البعض الذين لايعرفون الطريقة
في كيفية اختصار كتابة الاكواد
سوف نشرح على هذا الشكل
اعتقد ان الاغلبية يستخدم هذه الطريقة وهي

private void button1_Click(object sender, EventArgs e)
{

textBox1.Text += button1.Text;
}


private void button2_Click(object sender, EventArgs e)
{

textBox1.Text += button2.Text;
}

وهكذا مع بقية الازرار

تقوم بعمل 10 دوال
مارئيك بهذه الطريقة السهلة وتختصر 10 دوال بواحدة

تقوم بالدخول الى دالة الحدث للزر الاول او اي زر انت تريدة

وتكتب بهذه الطريقة


private void button1_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
textBox1.Text += btn.Text;
}
الان تقوم بتحديد الازرار كما في الشكل
وتذهب الى قائمة الاحداث

وتربطهن بالحدث button1_Click
هل اعجبتك هذه الطريقة ؟
Anonymous Poll
85%
نعم
15%
لا
2025/07/14 14:24:42
Back to Top
HTML Embed Code: