الدرس السابع كيفية إنشاء القوائم ومربع التحرير TextBox

مرحبا بكم في موقع محمد بشير

إنشاء القوائم ومربع التحرير

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

لتحميل وتنفيذ محتوى هذا الدرس الرجاء الضغط على رابط

تحميل محتوى الدرس السابع

محتوى البرنامج

using System;
using System.Drawing;
using System.Windows.Forms;

namespace sample
{
public class test
{
public static void Main(string[] args) {
Application.Run(new Form1());
}
}

class Form1 : Form
{
MenuStrip menuStrip1;
TextBox txt;

public Form1()
{
this.Width = 250;
this.Height = 300;
this.Text = "قالب نموذج";

//إنشاء قاعدة القائمة الأساسية
this.menuStrip1 = new MenuStrip();// إنشاء قاعدة القائمة الأساسية باس menuStrip1
// لزيادة سرعة تنفيذ البرنامج تعطيل التصمي الإفتراضي باستخدام خاصية SuspendLayout(
this.SuspendLayout();
this.menuStrip1.SuspendLayout();

// إنشاء قائمة باسم file في القائمة الأساسية
ToolStripMenuItem fileMenuItem = new ToolStripMenuItem();
fileMenuItem.Text = "file(&F)";//اسم القائمة file مع مفتاح اختصار control + f
// إضافتها إلى MenuStrip1
this.menuStrip1.Items.Add(fileMenuItem);

//إنشاء عنصر باسم open
ToolStripMenuItem openMenuItem = new ToolStripMenuItem();
openMenuItem.Text = "open(&O)...";// اسم العنصر هو open مع مفتاح اختصار باسم control + o
//إنشاء مفتاح اختصار باسم control + o
openMenuItem.ShortcutKeys = Keys.Control | Keys.O;
openMenuItem.ShowShortcutKeys = true;//اظهار مفتاح الاختصار
//إضافة المصدر عند الضغط على هذا العنصر
openMenuItem.Click += openMenuItem_Click;
//إضافة عنصر open إلى قائمة file
fileMenuItem.DropDownItems.Add(openMenuItem);

// إنشاء عنصر في القائمة باسم exit
ToolStripMenuItem exitMenuItem = new ToolStripMenuItem();
exitMenuItem.Text = "exit(&X)";
//إضافة المصدر عند الضغط على هذا العنصر
exitMenuItem.Click += exitMenuItem_Click;
//إضافة عنصر exit إلى قائمة file
fileMenuItem.DropDownItems.Add(exitMenuItem);

// إضافة menuStrip1 إلى الفورما
this.Controls.Add(this.menuStrip1);
// جعلها القائمة الرئيسية للفورم
this.MainMenuStrip = this.menuStrip1;

// إعادة استخدام التصميم الإفتراضي
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();

// إنشاء زر إفتح باسم btn
Button btn = new Button();
btn.Text = "إفتح";
btn.Location = new Point(200, 120); //تحديد حيز الزر على الشاشة
btn.Size = new Size(100, 22);//حجم الزر
btn.TabIndex = 1;// ترتيب العناصر حسب الرقم التسلسلي و 1 هو الرقم الثاني لأن 0 هو أول رقم وتترتب العناصر على حسب هذه الأرقام التي نقو بكتابتها وذلك عند التحرك باستخدام مفتاح الحقول
btn.Click += new EventHandler(this.OpenButton_Clicked);// عنوان مصدر تنفيذ الزر
this.Controls.Add(btn);// إضافته إلى الفورم

// إنشاء مربع تحرير
txt = new TextBox();
// إنشاء مربع تحرير باسم تحرير باسم txt
txt.Text = "";// محتوى مربع التحرير وإذا كتبنا أي شيء بين علامتي التنصيص فسوف يظهر تلقائيا عند تنفيذ البرنامج
txt.Location = new Point(0, 26);// تحديد حيز مربع التحرير
txt.Size = new Size(this.ClientSize.Width, this.ClientSize.Height - 26);
// تعيين حجم مربع التحرير
txt.Multiline = true;// جعل مربع التحرير قابل لتكرار الأصطر وإذا جعلنا هذا الصطر كتعليق أو قمنا بمسحه يصبح مربع التحرير من صطر واحد
txt.ScrollBars = ScrollBars.Both;// تفعيل خاصية الإنسياب من أعلى إلى أسفل
txt.BackColor = Color.White; // جعل لون خلفية مربع التحرير بيضاء
txt.TabIndex = 0;// ترتيب مربع التحرير لأننا جعلنا ترتيبه 0 لذا يظهر لنا أول عنصر بعد تنفيذ البرنامج كما يمكننا تغيير ترتيب العناصر بتغيير رقم الإندكس
txt.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
// وعند إنشاء مربع تحري متعدد الأصطر كما هو موضح في هذه الحالة
// يمكننا استخدام مفاتيح الإختصار إختيار الكل أو النسخ أو القطع أو اللصق أو إلغاء الأمر بصورة تلقائيا بدون إضافة أي شيء آخر
// تثبيت وضعها على الشاشة حتى ولو قمنا بتكبير أو تصغير الشاشة
Controls.Add(txt);// إضافة مربع التحرير إلى الفورم
}

// عند الضغط أو إختيار عنصر 「file(&O)...」
private void openMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("تم إختيار عنصر إفتح");
}

// عند الضغط أو إختيار عنصر 「exit
private void exitMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("تم إختيار عنصر الخروج من البرنام");
// الخروج من البرنامج باستخدام
this.Close();
// أو استخدام خاصية
this.Dispose();
// هنالك فرق بين الأمرين وسوف نتعرف عليه في وقت لاحق وليس هنالك أي مشكلة عند استخدام أي منهما
}

// عند الضغط على زر أفتح
private void OpenButton_Clicked(object sender, EventArgs e) {
MessageBox.Show("ت إختيار زر إفتح");
MessageBox.Show("محتوى مربع التحرير هو " + txt.Text);// إظهار محتوى مربع التحرير قمنا بإذافة الكلام الذي نريد إظهاره قبل محتوى مربع التحرير وجعلناه بين علامة التنصيص
// ثم كتنا علاة زائد ثم txt.Text وهوه الكود الخاص بالتعرف على محتوى مربع التحرير
//وعلامة زائد هي للربط بين النصوص
txt.Text = "";// مسح محتوى مربع التحرير
txt.Focus();// جعل المؤشر على مربع التحرير من جديد
// وخاصية focus تستخدم عند تحديد العنصر المراد تركيز المؤشر عليه وليس خاصا بمربع التحرير فقط
// وعند الضغط على زر إفتح تظهر لنا رسالة لتأكيد أن هذا هو زر الفتح
// ثم رسالة تخبرنا بمحتوى مربع التحرير
// ثم نقوم بمسح محتوى مربع التحرير
// ومن ثم نقوم بجعل المؤشر على مربع التحرير من جديد تلقائيا
}
}
}