tgoop.com/CsharpWindowsForm/245
Last Update:
بسم الله الرحمن الرحيم
خصائص أداة ContextMenuStrip
الخصائص Properties
• الخاصية AutClose :
هذه الخاصية من نوع Boolean قيمتها الافتراضية true
تستخدم في ما اذا كنت تريد ان تبقى القائمة مفتوحه دائماً ام لا .
اذا كنت تريد ان تبقى مفتوحه قم بتعيين قيمه الخاصية AutoClose الى false .
ولاكن ليس من قائمة الخصائص اذا قمت بتعيين الخاصية هذه الى false من قائمة الخصائص فإنها لن تظهر القائمة ابداً عند التنفيذ وذلك بسبب انهو يتم اغلاق هذه الأداة عند ما يتم فقد التنشيط .
كي تجعل القائمة تبقى مفتوحه بعد ان تضغط على زر الماوس الأيمن ,
قم بكتابة الكود التالي بداخل دالة الحدث Load للفورم او دالة الحدث Opening لهذه الأداة .
private void Form4_Load(object sender, EventArgs e)
{
this.contextMenuStrip1.AutoClose ^= true;
}
لاحظ السطر الذي بداخل الدالة الان عند ما تقوم بالتنفيذ بعد ان تقوم بالضغط على زر الماوس الأيمن , سوف تظهر القائمة ولاكن لن تستطيع اغلاقها بعد ذالك.
اما بالنسبة للرمز ^ فهو يعني البوابة المنطقية XOR , ويمكنك استخدام رمز البوابة المنطقية في اكواد أخرى منها الشروط
وايضاً اذا سبق لك وقمت بعمل برنامج note pad او برنامج محاكي لبرنامج Word
فيوجد ازرار لجعل النص مائل او سميك او مسطر
وكل زر من هذه الازرار يقوم بعمليتين .
عند الضغط على زر جعل الخط مائل سوف يكون الخط مائل وعند الضغط عليه مرة أخرى سوف يقوم بالكتابة بشكل عادي , كذالك بنفس الطريقة لباقي الازرار.
الان سوف نستعرض لك كودين يقوما بجعل الخط مائل احدهما يستخدم الرمز ^ و الاخر بدون الرمز ^ ومن ثم نقوم بمواصله موضوع خصائص ContextMenu.
واعتذر منكم على الاطاله ولاكن يهمني ان تتعرفوا على كل كبيره وصغيره في البرمجة بلغة السي شارب .
الكود الأول بدون الرمز ^ :
private void btnItalic_Click(object sender, EventArgs e)
{
richTextBox1.SelectionFont = (!richTextBox1.SelectionFont.Italic) ? new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style | FontStyle.Italic) : new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style & ~FontStyle.Italic);
}
الكود الثاني باستخدام الرمز ^ :
private void btnItalic_Click(object sender, EventArgs e)
{
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont, richTextBox1.SelectionFont.Style ^ FontStyle.Italic);
}
هل لاحظت الفرق الكبير بين الاكواد السابقة مع ان كلاهما يقوما بنفس العملية ,
ولاكن الكود الثاني اسهل ومختصر من الكود الأول.
اعتقد وضح سبب الإطالة في موضوع رمز بوابة XOR
نعود الى موضوعنا
• الخاصية DropShadowEnabled
خاصية من نوع bool قيمتها الافتراضية true .
تشير هذه الخاصية إلى ما إذا كان تأثير الظل ثلاثي الأبعاد يظهر عند عرض القائمة ,
• الخاصية ShowCheckMargin
هذه الخاصية تحدد قيمه تشير إلى ما إذا كانت مساحة علامة الاختيار تظهر على الحافة اليسرى من القائمة.
قيمتها الافتراضية false
بهذا الشكل
الشكل في pdf
اذا كانت true
تظهر بهذا الشكل
الشكل في pdf
النقطة الحمراء كي تفرق بين مساحة الصورة الأولى والثانية
لذالك عندما تكون هذه الخاصية true يتم تكبير مساحة الجهة اليسرى للقائمة ,
في هذه الحالة يمكنك إضافة صورة للعنصر في القائمة وايضاً علامة اختيار,
علامة اختيار تعني تحديد علامة صح على العنصر تظهر وتختفي عند الضغط على العنصر.
ولكي تقوم بتفيعل علامة الاختيار تضغط على عنصر من عناصر القائمة وتغير قيمة الخاصية Checked الى true .
ولاكن في حالة كانت الخاصية ShowCheckMargin تساوي false سوف يتم عمل القائمة كما في الشكل الأول , و خاصية Checked سوف تظهر علامة اختيار في حالة عدم وجود صورة للعنصر اما اذا كان هناك صورة للعنصر لن تعمل الخاصية Checked .
• الخاصية ShowImageMargin
بنفس فكرة الخاصية السابقة ولاكن تظهر مساحة الصور لاحظ الشكل الأول من الخاصية السابقة , المساحة المظلله على اليسار هي خاصة بالصور وذلك لان هذه الخاصية قيمتها الافتراضية تساوي true,
اذا غيرت قيمه هذه الخاصية الى false فانهو لن تظهر مساحة تظع فيها صورة للعنصر او علامة اختيار .
ولاكن في حالة كانت الخاصية ShowCheckMargin تساوي true و الخاصية ShowImageMargin تساوي false سوف تظهر مساحة كما في الشكل الأول ,
واذا عملت صورة للعنصر في القائمة سوف تظهر الصورة في حالة كانت خاصية Checked تساوي false اما اذا غيرت قيمتها الى true سوف يتم إخفاء الصور,
وإظهار علامة الاختيار بدل من الصورة.
BY برمجة تطبيقات الويندوز C# Programming
Share with your friend now:
tgoop.com/CsharpWindowsForm/245