tgoop.com/CsharpWindowsForm/242
Last Update:
شرح اداة
ContextMenuStrip Control
يوفر عنصر التحكم ContextMenuStrip وظائف قوائم السياق و تعرف قائمة السياق أيضًا بالقائمة المنبثقة. تظهر قائمة السياق عند النقر بزر الماوس الأيمن على نموذج أو على عنصر تحكم.
إنشاء قائمة سياق
لإنشاء عنصر تحكم ContextMenuStrip في وقت التصميم ، ما عليك سوى سحب عنصر تحكم ContextMenuStrip وإفلاته من Toolbox إلى نموذج في Visual Studio. بعد سحب وإفلات ContextMenuStrip في نموذج ، تتم إضافة ContextMenuStrip1 إلى النموذج وتبدو بالشكل 1. بمجرد وجود ContextMenuStrip في النموذج ، يمكنك إضافة عناصر القائمة وتعيين خصائصها وأحداثها. إذا لاحظت في الشكل 1 ، فإن العنصر الأول من ContextMenuStrip يحتوي على نص اكتب هنا. يمكنك بالفعل البدء في الكتابة هنا
إذا لاحظت في الشكل 2 ، اكتب اثنين من عناصر القائمة. بمجرد تحديد عنصر قائمة ، سترى تلقائيًا مناطق عناصر القائمة الفرعية قابلة للتحرير ويمكنك الاستمرار في الوصول إلى العديد من المستويات التي تريدها. أقوم بإضافة عنصري قائمة وعنصري قائمة فرعية.
يمكننا أيضًا إنشاء قوائم السياق في وقت التشغيل. على الرغم من أنه يمكنك إنشاء ContextMenuStrip في وقت التشغيل ، فمن المستحسن إنشاء وقت التصميم ثم تعيين الخصائص والأساليب في وقت التشغيل.
الخطوة الأولى لإنشاء ContextMenuStrip ديناميكي هي إنشاء مثيل لفئة ContextMenuStrip. ينشئ مقتطف التعليمات البرمجية التالي كائن تحكم ContextMenuStrip.
ContextMenuStrip ContextMenuStrip1 = new ContextMenuStrip();
في الخطوة التالية ، يمكنك تعيين خصائص عنصر تحكم ContextMenuStrip. يقوم مقتطف التعليمات البرمجية التالي بتعيين خصائص الخلفية ولون المقدمة والنص والاسم ونوع الخط لـ ContextMenuStrip.
ContextMenuStrip1.BackColor = Color.OrangeRed;
ContextMenuStrip1.ForeColor = Color.Black;
ContextMenuStrip1.Text = "File Menu";
ContextMenuStrip1.Font = new Font("Georgia", 16);
الان نقوم بإضافة عناصر الى قائمة السياق لكي تظهر عند الضغط بزر الماوس الأيمن
ContextMenuStrip1.Items.Add("New");
ContextMenuStrip1.Items.Add("Open");
ContextMenuStrip1.Items.Add("Exit");
بمجرد أن يصبح عنصر التحكم ContextMenuStrip جاهزًا بخصائصه ، فإن الخطوة التالية هي إضافة ContextMenuStrip إلى نموذج. للقيام بذلك ، قم أولاً بتعيين خاصية ContextMenuStrip ثم استخدم استدعاء الأسلوب Show لعرض ContextMenuStrip.
يضيف مقتطف التعليمات البرمجية التالي عنصر تحكم ContextMenuStrip إلى النموذج الحالي ويعرضه عند النقر بزر الماوس الأيمن فوق النموذج.
this.ContextMenuStrip = ContextMenuStrip1;
ContextMenuStrip1.Show();
الان بعد اضافه قائمة السياق للفورم ستظهر عند الضغط بزر الماوس الأيمن على الفورم بهذا الشكل
الان عند ما تقوم بالضغط على أي عنصر من عناصر القائمة لن يحدث شيء لانهو لم يتم برمجة احداث هذه الأداة
الكود التالي يقوم بإضافة حدث ItemClicked
ContextMenuStrip1.ItemClicked += new ToolStripItemClickedEventHandler(MYToolStripMenuItem);
بعد ان تقوم بكتابة السطر السابق قم بالضغط على Ctrl+.
واختار Generate Method لكي يتم توليد الدالة تلقائياً
ستبدو الدالة التي تم إنشائها كالتالي
private void MYToolStripMenuItem(object sender, ToolStripItemClickedEventArgs e)
{
throw new NotImplementedException();
}
الان انت لاتعرف لأي عنصر قمت بعمل دالة الحدث هذه ؟
طبعاً الحدث هذا سوف يكون لجميع العناصر قد تستغرب مما اقصد
سوف نستخدم الخاصية ClickedItem لكي يتم تحديد أي العناصر تم الضغط عليه
تابع الشرح وسوف تفهم اكثر
قم بحذف السطر الموجود بالدالة واكتب الاسطر التاليه
private void MyToolStripMenuItem(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Text=="Open")
{
MessageBox.Show("open");
}
if (e.ClickedItem.Text == "New")
{
MessageBox.Show("new");
}
if (e.ClickedItem.Text == "Exit")
{
this.Close();
}
}
هل استوعبت كيف سيتم تحديد أي العناصر تم الضغط عليه وسوف يتم تنفيذ الشرط المتوافق مع النقرة
ويوجد طريقة أخرى لانشاء عناصر للقائمة
ToolStripMenuItem item = new ToolStripMenuItem("Delete") { Image =Image.FromFile(@"مسار الصورة"), };
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/242