CSHARPWINDOWSFORM Telegram 268
mnUndo.Click += new EventHandler(this.EditClicked);
mnCut.Click += new EventHandler(this.EditClicked);


mnCopy.Click += new EventHandler(this.EditClicked);

mnPaste.Click += new EventHandler(this.EditClicked);

mnRedo.Click += new EventHandler(this.EditClicked);


//
mnFont.Click += new EventHandler(this.FormatClicked);
}



شرح الاكواد التي بداخل دالة البناء :

في بداية اسطر التي بداخل دالة البناء قمنا بضبط خاصية Dock للاوبجكت rch
بعد ذلك قمنا بإضافته للفورم .

mnFile.MenuItems.Add(mnSave);
mnFile.MenuItems.Add("-");
mnFile.MenuItems.Add(mnOpen);
mnFile.MenuItems.Add("-");
mnFile.MenuItems.Add(mnNew);
//
mnEdit.MenuItems.Add(mnUndo);
mnEdit.MenuItems.Add(mnRedo);
mnEdit.MenuItems.Add(mnCopy);
mnEdit.MenuItems.Add(mnCut);
mnEdit.MenuItems.Add(mnPaste);
//

mnFormat.MenuItems.Add(mnFont);
اما الاسطر السابقة فقمنا بإضافة العناصر التي ستكون فرعية الى قاوائم رئيسية
فمثلاّ القائمة File ستكون قائمة رئيسية كذالك Edit و Format والسبب اننا اضفناهن كقوائم رئيسية سنريك الاكواد بعد ان انتهي من هذه الفقرة.
القائمة File تحتزي على (Save,New,Open )
القائمة Edit تحتوي على (Cupy,Cut,… )
وهكذا
اما بالنسبة للكود
mnFile.MenuItems.Add("-");

فهو يقوم بوضع فاصل بين العناصر


mnuMain.MenuItems.Add(mnFile);
mnuMain.MenuItems.Add(mnEdit);
mnuMain.MenuItems.Add(mnFormat);

هنا تم إضافة العناصر File و Edit و Format الى القائمة الرئيسية أي التي سوف تظهر في اعلى الفورم


اما الكود التالي فهو يقوم باضافه أداة القائمة الرئيسية بما تحتويه الى الفورم

this.Menu = mnuMain;
بهذه الطريقه يتم إضافة القائمة الى الفورم
لا تحاول تجرب الاسطر التاليه لانها لن تجدي نفعاً
this.components.Add(mnuMain);

اذا استخدمت الكود السابق سوف تحصل على Exception

اما اذا استخدت الكود التالي فلن سوف يظهر خطاء صريح يخبرك به الكمبايلر
this.Controls.Add(mnuMain);











الان نأتي الى اسطر إنشاء الاحداث
mnSave.Click += new EventHandler(this.FileClicked);
mnOpen.Click += new EventHandler(this.FileClicked);

//

mnUndo.Click += new EventHandler(this.EditClicked);
mnCut.Click += new EventHandler(this.EditClicked);


mnCopy.Click += new EventHandler(this.EditClicked);

mnPaste.Click += new EventHandler(this.EditClicked);

mnRedo.Click += new EventHandler(this.EditClicked);


//
mnFont.Click += new EventHandler(this.FormatClicked);

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

نبدا بالدالة EditClicked
private void EditClicked(Object Sender, EventArgs e)
{
MenuItem mniTemp = (MenuItem)Sender;


switch (mniTemp.Text)
{
case "Undo":
rch.Undo();
break;
case "Cut":
if (rch.SelectedRtf != "")
{
rch.Cut();
}
break;
case "Copy":
if (rch.SelectedRtf != "")
{
rch.Copy();
}
break;
case "Paste":
rch.Paste();
break;
case "Redo":

rch.Redo();
break;
}
}

ركز على السطر التالي """"""
MenuItem mniTemp = (MenuItem)Sender;

هذا السطر هو الذي يسمح بإن تقوم بعمل احداث أدوات متعددة من نفس النوع بداخل دالة واحدة

وذلك من خلال الشرط الذي في جملة الاختيار switch
واي أداة لها نص (text) مشابهه لأي حاله case من حالات switch يتم تنفيذها



tgoop.com/CsharpWindowsForm/268
Create:
Last Update:

mnUndo.Click += new EventHandler(this.EditClicked);
mnCut.Click += new EventHandler(this.EditClicked);


mnCopy.Click += new EventHandler(this.EditClicked);

mnPaste.Click += new EventHandler(this.EditClicked);

mnRedo.Click += new EventHandler(this.EditClicked);


//
mnFont.Click += new EventHandler(this.FormatClicked);
}



شرح الاكواد التي بداخل دالة البناء :

في بداية اسطر التي بداخل دالة البناء قمنا بضبط خاصية Dock للاوبجكت rch
بعد ذلك قمنا بإضافته للفورم .

mnFile.MenuItems.Add(mnSave);
mnFile.MenuItems.Add("-");
mnFile.MenuItems.Add(mnOpen);
mnFile.MenuItems.Add("-");
mnFile.MenuItems.Add(mnNew);
//
mnEdit.MenuItems.Add(mnUndo);
mnEdit.MenuItems.Add(mnRedo);
mnEdit.MenuItems.Add(mnCopy);
mnEdit.MenuItems.Add(mnCut);
mnEdit.MenuItems.Add(mnPaste);
//

mnFormat.MenuItems.Add(mnFont);
اما الاسطر السابقة فقمنا بإضافة العناصر التي ستكون فرعية الى قاوائم رئيسية
فمثلاّ القائمة File ستكون قائمة رئيسية كذالك Edit و Format والسبب اننا اضفناهن كقوائم رئيسية سنريك الاكواد بعد ان انتهي من هذه الفقرة.
القائمة File تحتزي على (Save,New,Open )
القائمة Edit تحتوي على (Cupy,Cut,… )
وهكذا
اما بالنسبة للكود
mnFile.MenuItems.Add("-");

فهو يقوم بوضع فاصل بين العناصر


mnuMain.MenuItems.Add(mnFile);
mnuMain.MenuItems.Add(mnEdit);
mnuMain.MenuItems.Add(mnFormat);

هنا تم إضافة العناصر File و Edit و Format الى القائمة الرئيسية أي التي سوف تظهر في اعلى الفورم


اما الكود التالي فهو يقوم باضافه أداة القائمة الرئيسية بما تحتويه الى الفورم

this.Menu = mnuMain;
بهذه الطريقه يتم إضافة القائمة الى الفورم
لا تحاول تجرب الاسطر التاليه لانها لن تجدي نفعاً
this.components.Add(mnuMain);

اذا استخدمت الكود السابق سوف تحصل على Exception

اما اذا استخدت الكود التالي فلن سوف يظهر خطاء صريح يخبرك به الكمبايلر
this.Controls.Add(mnuMain);











الان نأتي الى اسطر إنشاء الاحداث
mnSave.Click += new EventHandler(this.FileClicked);
mnOpen.Click += new EventHandler(this.FileClicked);

//

mnUndo.Click += new EventHandler(this.EditClicked);
mnCut.Click += new EventHandler(this.EditClicked);


mnCopy.Click += new EventHandler(this.EditClicked);

mnPaste.Click += new EventHandler(this.EditClicked);

mnRedo.Click += new EventHandler(this.EditClicked);


//
mnFont.Click += new EventHandler(this.FormatClicked);

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

نبدا بالدالة EditClicked
private void EditClicked(Object Sender, EventArgs e)
{
MenuItem mniTemp = (MenuItem)Sender;


switch (mniTemp.Text)
{
case "Undo":
rch.Undo();
break;
case "Cut":
if (rch.SelectedRtf != "")
{
rch.Cut();
}
break;
case "Copy":
if (rch.SelectedRtf != "")
{
rch.Copy();
}
break;
case "Paste":
rch.Paste();
break;
case "Redo":

rch.Redo();
break;
}
}

ركز على السطر التالي """"""
MenuItem mniTemp = (MenuItem)Sender;

هذا السطر هو الذي يسمح بإن تقوم بعمل احداث أدوات متعددة من نفس النوع بداخل دالة واحدة

وذلك من خلال الشرط الذي في جملة الاختيار switch
واي أداة لها نص (text) مشابهه لأي حاله case من حالات switch يتم تنفيذها

BY برمجة تطبيقات الويندوز C# Programming


Share with your friend now:
tgoop.com/CsharpWindowsForm/268

View MORE
Open in Telegram


Telegram News

Date: |

Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. Informative So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms.
from us


Telegram برمجة تطبيقات الويندوز C# Programming
FROM American