CSHARPWINDOWSFORM Telegram 267
السلام عليكم

بعد انا شرحنا أداة التحكم RichTextBox فمن خلال هذه الأداة يمكننا أداء جميع وظائف معالجة النصوص – من تنسيق النص و إجراء عمليات البحث – بسهوله وبدون جهد كبير
و سنشرح اليوم كيفيه إنشاء محرر نصوص يقوم بوظائف معينه

امثله على برامج محررات النصوص (note pad , المفكرة,word )


في البداية ستحتاج الى إضافة القوائم ( MenuStrip ) للسماح للمستخدم بفتح الملفات وحفظها ، وتنسيق النص ، واختيار الألوان ، وما إلى ذلك.



ملاحظة :
الأدوات التي سوف نحتاجها سوف نضيفها برمجياً (أي نقوم بإنشاء object من كلاسات أدوات التحكم) كذالك خصائص هذه الأدوات يتم التعديل عليها برمجياً


ملاحظة :
الشرح هذا لفهم بعض العمليات على RichTextBox لذالك سوف نهتم على البرمجة وليس التصميم و كل مبرمج وله طريقته الخاصة في تصميم شكل البرنامج الخاص به


لنبدأ :

public partial class Form1 : Form
{
RichTextBox rch = new RichTextBox();

MainMenu mnuMain = new MainMenu();

//
MenuItem mnFile = new MenuItem("File");
MenuItem mnSave = new MenuItem("Save");
MenuItem mnOpen = new MenuItem("Open");
MenuItem mnNew = new MenuItem("New");

//

MenuItem mnEdit = new MenuItem("Edit");
MenuItem mnCopy = new MenuItem("Copy");
MenuItem mnCut = new MenuItem("Cut");
MenuItem mnPaste = new MenuItem("Paste");
MenuItem mnUndo = new MenuItem("Undo");
MenuItem mnRedo = new MenuItem("Redo");
//

//
MenuItem mnFormat = new MenuItem("Format");
MenuItem mnFont = new MenuItem("Font");
//

OpenFileDialog ofd = new OpenFileDialog();
SaveFileDialog sfd = new SaveFileDialog();
FontDialog fd = new FontDialog();

في البداية انشئنا اوبجكت من نوع, RichTextBox وهو الاوبجكت الذي سوف نستخدمه في اغلب عمليات محرر النصوص هذا,

اما الاوبجكت الذي تم إنشائه في السطر الثاني فهو من نوع ) MainMenu ) أي قائمة رئيسية .
القائمة الرئيسية تظهر في اعلى الفورم تحت شريط التحكم


اما الكائنات التي من نوع MenuItem فهي تعتبر عناصر القائمة أي الخيارات التي سوف تظهر في القائمة

سوف نأخذ سطر برمجي نشرحه وبقي الاسطر التي من نفس الاوبجكت ينطبق عليها الشرح التالي :
MenuItem mnFile = new MenuItem("File");

في السطر السابق تم انشاء اوبجكت عنصر قائمة, من خلال دالة البناء التي تحتوي على وسيط من نوع string قمنا بإرسال اسم عنصر القائمة الذي سوف يظهر في اعلى الفورم .
طريقة أخرى تكافئ السطر البرمجي السابق :
MenuItem mnFile = new MenuItem();
public Form1()
{
InitializeComponent();

mnFile.Text = "File";


}

هل عرفت ما يعني الكود البرمجي الأول .
يعني عند انشاء كائن من خلال دالة البناء التي تحتوي على وسيط string لا يلزم اسناد قيمه للخاصية text كما في الكود الثاني فقط قم بإرسال قيمه من نوع string الى دالة البناء وهي سوف تقوم بمهمه إسناد القيمة للخاصية text .

يمكنك ايضاً كتابة اسم عنصر القائمة باللغة العربية .


OpenFileDialog ofd = new OpenFileDialog();
SaveFileDialog sfd = new SaveFileDialog();
FontDialog fd = new FontDialog();




الثلاثة الاسطر السابقة هي كائنات سوف نحتاجة عندما يضغط المستخدم على احد عناصر القائمة
File > Open
File > Save

Format > Font


public Form2()
{
InitializeComponent();
/////
rch.Dock = DockStyle.Fill;
Controls.Add(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);
//
mnuMain.MenuItems.Add(mnFile);
mnuMain.MenuItems.Add(mnEdit);
mnuMain.MenuItems.Add(mnFormat);

this.Menu = mnuMain;
//
mnSave.Click += new EventHandler(this.FileClicked);
mnOpen.Click += new EventHandler(this.FileClicked);

//



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

السلام عليكم

بعد انا شرحنا أداة التحكم RichTextBox فمن خلال هذه الأداة يمكننا أداء جميع وظائف معالجة النصوص – من تنسيق النص و إجراء عمليات البحث – بسهوله وبدون جهد كبير
و سنشرح اليوم كيفيه إنشاء محرر نصوص يقوم بوظائف معينه

امثله على برامج محررات النصوص (note pad , المفكرة,word )


في البداية ستحتاج الى إضافة القوائم ( MenuStrip ) للسماح للمستخدم بفتح الملفات وحفظها ، وتنسيق النص ، واختيار الألوان ، وما إلى ذلك.



ملاحظة :
الأدوات التي سوف نحتاجها سوف نضيفها برمجياً (أي نقوم بإنشاء object من كلاسات أدوات التحكم) كذالك خصائص هذه الأدوات يتم التعديل عليها برمجياً


ملاحظة :
الشرح هذا لفهم بعض العمليات على RichTextBox لذالك سوف نهتم على البرمجة وليس التصميم و كل مبرمج وله طريقته الخاصة في تصميم شكل البرنامج الخاص به


لنبدأ :

public partial class Form1 : Form
{
RichTextBox rch = new RichTextBox();

MainMenu mnuMain = new MainMenu();

//
MenuItem mnFile = new MenuItem("File");
MenuItem mnSave = new MenuItem("Save");
MenuItem mnOpen = new MenuItem("Open");
MenuItem mnNew = new MenuItem("New");

//

MenuItem mnEdit = new MenuItem("Edit");
MenuItem mnCopy = new MenuItem("Copy");
MenuItem mnCut = new MenuItem("Cut");
MenuItem mnPaste = new MenuItem("Paste");
MenuItem mnUndo = new MenuItem("Undo");
MenuItem mnRedo = new MenuItem("Redo");
//

//
MenuItem mnFormat = new MenuItem("Format");
MenuItem mnFont = new MenuItem("Font");
//

OpenFileDialog ofd = new OpenFileDialog();
SaveFileDialog sfd = new SaveFileDialog();
FontDialog fd = new FontDialog();

في البداية انشئنا اوبجكت من نوع, RichTextBox وهو الاوبجكت الذي سوف نستخدمه في اغلب عمليات محرر النصوص هذا,

اما الاوبجكت الذي تم إنشائه في السطر الثاني فهو من نوع ) MainMenu ) أي قائمة رئيسية .
القائمة الرئيسية تظهر في اعلى الفورم تحت شريط التحكم


اما الكائنات التي من نوع MenuItem فهي تعتبر عناصر القائمة أي الخيارات التي سوف تظهر في القائمة

سوف نأخذ سطر برمجي نشرحه وبقي الاسطر التي من نفس الاوبجكت ينطبق عليها الشرح التالي :
MenuItem mnFile = new MenuItem("File");

في السطر السابق تم انشاء اوبجكت عنصر قائمة, من خلال دالة البناء التي تحتوي على وسيط من نوع string قمنا بإرسال اسم عنصر القائمة الذي سوف يظهر في اعلى الفورم .
طريقة أخرى تكافئ السطر البرمجي السابق :
MenuItem mnFile = new MenuItem();
public Form1()
{
InitializeComponent();

mnFile.Text = "File";


}

هل عرفت ما يعني الكود البرمجي الأول .
يعني عند انشاء كائن من خلال دالة البناء التي تحتوي على وسيط string لا يلزم اسناد قيمه للخاصية text كما في الكود الثاني فقط قم بإرسال قيمه من نوع string الى دالة البناء وهي سوف تقوم بمهمه إسناد القيمة للخاصية text .

يمكنك ايضاً كتابة اسم عنصر القائمة باللغة العربية .


OpenFileDialog ofd = new OpenFileDialog();
SaveFileDialog sfd = new SaveFileDialog();
FontDialog fd = new FontDialog();




الثلاثة الاسطر السابقة هي كائنات سوف نحتاجة عندما يضغط المستخدم على احد عناصر القائمة
File > Open
File > Save

Format > Font


public Form2()
{
InitializeComponent();
/////
rch.Dock = DockStyle.Fill;
Controls.Add(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);
//
mnuMain.MenuItems.Add(mnFile);
mnuMain.MenuItems.Add(mnEdit);
mnuMain.MenuItems.Add(mnFormat);

this.Menu = mnuMain;
//
mnSave.Click += new EventHandler(this.FileClicked);
mnOpen.Click += new EventHandler(this.FileClicked);

//

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


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

View MORE
Open in Telegram


Telegram News

Date: |

Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Each account can create up to 10 public channels Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data.
from us


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