Telegram Web
قم بالضغط على الزر الموجود في الفورم double click
للدخول الى دالة الحدث Click

واكتب هذا السطر

MessageBox.Show(numericTextBox1.NumberOfDigits.ToString());


والان Run
بسم الله الرحمن الرحيم
——————————————

اليوم سنشرح موضوع جديد عن كيفية حفظ بيانات التطبيق حتى بعد اغلاق ال Form

الخطوات :

قم بعمل مشروع جديد WinForm

اضف الادوات التالية الى ال Form

Button ,lable,text box
قم بالضغط على Project
واختار اخر خيار
في الخطوة الرابعة قم باضافة ثلاثة متغيرات كما في الشكل التالي

المتغير color يقوم بتخزين لون الForm النوع System.Drawing.Color

المتغير txtBox يقوم بتخزين النص للtextBox
وال lbl يخزن قيمة lable
5

قم بالرجوع للفورم واضغط على الزر double click للدخول للحدث Click
private void button1_Click(object sender, EventArgs e)
{
label1.Text = textBox1.Text;
this.BackColor = Color.Red;

}

من قائمة الاحداث للفورم افتح الحدث FormClosed واكتب هذا الكود
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{



Properties.Settings.Default.color = this.BackColor;
Properties.Settings.Default.txtBox = textBox1.Text;
Properties.Settings.Default.lbl = label1.Text;

Properties.Settings.Default.Save();
}


والى اخر خطوة افتح دالة الحدث Load

private void Form1_Load(object sender, EventArgs e)
{
this.BackColor = Properties.Settings.Default.color;
textBox1.Text = Properties.Settings.Default.txtBox;
label1.Text = Properties.Settings.Default.lbl;

}
والان قم بالتنفيذ

واكتب شيئاً في الtextBox واضغط على الزر Button1
سترى ان لون الفورم قد تغير الى الاحمر
والان اذا اغقلت البرنامج ونفذت مرة اخرى ستبقى البيانات محفوظة الون احمر والlable النص نفس textBox

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

اليوم سوف نشرح طريقة انشاء زر وانشاء حدث Click للزر برمجياً وبطريقة مختلفة واحترافية

من داخل دالة الحدث Load للفورم

private void Form1_Load(object sender, EventArgs e)
{


Button btn = new Button() { Text = "Button1", Size = new Size(100, 60) };
this.Controls.Add(btn);

btn.Click += delegate (object s, EventArgs a)
{
MessageBox.Show("Hello World");
};
}
والان عند التنفيذ ستجد انهو تم اضافة الزر وعند الضغط عليه سيتم اظهار رسالة MessageBox

ملاحظة :
يجب ان يكون معاملات الدالة Click تختلف عن اسماء معاملات الدالة Load
لان من قواعد البرمجة لايمكن تعريف اكثر من متغير بنفس الاسم
معلومة قد تفيدك

————————————————————————————————————————

اداة التحكم textBox

يوجد لديها خاصية اسمها textAlign محاذاة النص
تتأثر بالخاصية RightToLeft=Yes
بمعنى
اذا كانت الخاصية textAlign = Left سوف يتم الكتابة في textBox من اليمين
واذا كانت Right سوف يتم الكتابة من اليسار
يتم عكس محاذاة النص والسبب الخاصية RightToLeft
غير قيمه الخاصية RightToLeft = No
لكي يتم ضبط خاصية محاذاة النص بالاتجاة الصحيح
بسم الله الرحمن الرحيم

موضوع اليوم : هو عن كيفية فتح اكثر من Form في Form واحد

مثال: لو كان معك في مشروعك 3 نماذج (Form) وتريد اظهار الفورم 3 و 2 في الForm1

أولا قم ب إضافة panel واجعل خاصية Dock تساوي Top
قم بإضافة 2 ازرار وضعهم بداخل الحاوية panel

الان اذهب لخصائص Form1 وابحث عن الخاصية IsMdiContainer اجعل قيمتها تساوي true
بعد تعديل قيمة الخاصية ستلاحظ ان لون الForm قد تغير وهذا يعني ان الفورمات الأخرى ستظهر بداخله

الان قم بالضغط على button1 ضغطتين للدخول لدالة الحدث Click
واكتب هذا الكود


private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
f2.MdiParent = this;
}

نفس العملية مع الزر الثاني ولاكن للفورم 3


private void button2_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
f3.MdiParent = this;
}
مثال لطريقة انشاء مصفوفات اوبجكت من أدوات تحكم واضافتها للفورم برمجيا

قم بانشاء مشروع جديد والضغط في وسط الفورم للدخول الى دالة الحدث Load





تهيئة ثلاث مصفوفات اوبجكت من ادوات التحكم التالية
قم بتعريفهن خارج الدالة

Panel[] panel; // Panel مصفوفة
private Label[] labels;
Button[] btn;



private void Form1_Load(object sender, EventArgs e)
{

AutoSize = true; // تفعيل خاصية الحجم التلقائي للفورم
int n = 10;
labels = new Label[n];
btn = new Button[n];
panel = new Panel[n];
// create array elements in a loop
for (int i = 0; i < n; i++)
{

/// Create Panel Panel انشاء حاوية
panel[i] = new Panel();
panel[i].Size = new Size(430, 41);
panel[i].Dock = DockStyle.Top;

/*
panel

اداة تحكم تستخدم لاحتواء ادوات تحكم اخرى مثل الفورم

سنقوم باضافة الازرار وال labels بداخلها

*/

///

// Create Buttons انشاء الازرار وتهيئه خصائصها
btn[i] = new Button();
btn[i].Text = "Button" + (i + 1).ToString();// اسم الزر
btn[i].Size = new Size(100, 20);// حجم الزر
btn[i].Dock = DockStyle.Right;// وضع الزر على اليمين
//



// Create Labels
labels[i] = new Label();
labels[i].Text = "lable " + (i + 1).ToString();
//




if (i%2==0)
{
labels[i].ForeColor = Color.Orange;
panel[i].BackColor = Color.FromArgb(35, 88, 65);

/* FormArgb
دالة تسقبل ثلاثة وسائط هذه الوسائط هي قيم للون محدد
يمكنك عملها بالشكل التالي
panel[i].BackColor = Color.LightBlue;


*/


}
btn[i].BackColor = Color.Gold; // تغيير الون الخلفي للازرار


في السطر التالي نقوم باضافة panel الى الفورم
this.Controls.Add(panel[i]);

// بعد مايتم تنفيذ التعليمة السابقة تنفذ التعليمه التالية


// panel الى الحاوية lable الان قم باضافة الزر و
panel[i].Controls.AddRange(new Control[] { labels[i], btn[i] });


// وهكذا في كل دورة يتم اضافة عنصر تحكم واحد من كل نوع من الانواع الثلاثة
}




}
1
البرنامج سيكون بالشكل التالي
PichonSetup.exe
99.4 MB
مرحباً
كيف حالكم جميعا ً ؟

يبدو أنكم جميعا ً تستمتعون ببرمجة تطبيقات ذو واجهه جميله ورائعه بواسطة لغة c# .
ولكن في بعض الأحيان قد تحتاج إلى تصميم واجهه مميزة تحتوي على اشكال رائعه ، ولهذا تلجأ إلى استخدام الصور و الأيقونات وتبدأ في رحلةٌ من البحث في مواقع الإنترنت للبحث عن الأيقونات التي تعجبك وتتناسب مع ذوقك وقد تضيع الكثير من الوقت في هذه الرحلة التي تنتهي بالعثور على أيقونات لم تكن بالشيء الذي يُعجب و قد تكون شنيعة الشكل😔.

ولكن ماهو الحل لهذا الأمر ؟
يوجد حل بالطبع فهناك برنامج جميل يوفر كل ما تحتاجه ويوفر لك مايقارب 120,000 أيقونة جميله ورائعه .

أنه برنامج "Pichon"
يبلغ حجمه ما يقارب 100 ميجا بايت فقط
ويتطلب القليل من الأنترنت أثناء تثبيته .
سيتطلب الأمر بعض الوقت والانترنت ، ولكنهُ يستحق 🙂🍃 .

www.tgoop.com/CsharpWindowsForm
وهذه الصورة تظهر لنا بعضاً مما يحتويه البرنامج .👍🙂
2025/07/14 21:40:50
Back to Top
HTML Embed Code: