[rwadaltechnia] استفسار

  • From: mohamed bashir <bashir633@xxxxxxxxx>
  • To: rwadaltechnia@xxxxxxxxxxxxx
  • Date: Thu, 20 Dec 2018 12:36:52 +0900

الأخ الكريم أشرف وبقية الأعضاء الكرام
السلام عليكم ورحمة الله وبركاته

أولا بالنسبة لسؤال أخي أشرف عن التاب
كما ذكرت في لغة python يعتبر التاب مهم جدا وجزء الكود
أما بالنسبة للغة c# فليس له أي معنى وليس هنالك أي مشكلة في حالة
استخدامه أو عدمها
أما أنا فلا أحبذ استخدامه لتيسير القراءة


ثانيا قد قمت بإضافة الدرس السابع إلى الموقع
وأيضا أرفقت محتواه مع هذه الرسالة
الرجاء التأكد من الملف المرفق

ولكم مني خالص الشكر والتقدير

On 19/12/2018, أشرف بشرى عبد الله <ashrafbushra9401@xxxxxxxxx> wrote:

شكرا لك عزيزي على أجاباتك وسعة صدرك، أقصد في سؤالي الثاني التابات التي
تكون مكتوبة في بداية بعض الأسطر داخل النماذج فأحيانا تكون خانة tab
واحدة أو خانتين، فهل هي نفس ما فهمتها أنت على أنها فراغات خاصة
بالمبصرين؟ لأنني أذكر أن هذه المسافات كان لا بد من وجودها في لغة
بايثون.

بتاريخ 19‏/12‏/2018، كتب mohamed bashir‏ <bashir633@xxxxxxxxx>:
الأخ الكريم
أشرف السلام عليكم

جزاك الله خيرا على رسالتك
والرد على سؤالك هو كما يلي

أولا خاصية location تستعمل مع كافة العناصر الخاصة بالنوافذ مثل
مربع الخيارات
والأزرار
ومربع التحرير
والقوائم المختلفة

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


أما بالنسبة للسؤال الثاني فلم أفهم المقصود جيدا
فإذا كنت تقصد الفراغات المكتوبة في الأكواد فليس لها أي معنى ولا تؤثر
على تنفيذ البرامج وهي مهمة فقط للمبصرين وذلك لتسهيل الرؤية
وإذا كانت لديك أي أسألة أخرى فأنا في أتم الإستعداد والسرور لاجابة جميع
ما استطيع عليه
وشكرا جزيلا

On 19/12/2018, أشرف بشرى عبد الله <ashrafbushra9401@xxxxxxxxx> wrote:
بتاريخ 18‏/12‏/2018، كتب أشرف بشرى عبد الله‏
<ashrafbushra9401@xxxxxxxxx>:
السلام عليكم ورحمة الله:
أمسية طيبة على الجميع، أخي محمد بشير أنا طبعا قمت بتطبيق كل ما جاء في
الدروس السابقة ابتداءا من الدرس الأول وانتهاءا بالدرس السادس وقمت بعمل
قالب مماثل للدروس السابقة يخص الدرس السادس بما أنه ليس له قالب للتجربة
ونجحت في ذلك؛ ولكن الذي لم أفهمه
combo1.Location = new Point(60, 50);//خاصية location
فمرة كُتِبَت هكذا ومرة كُتِبَت Point(50, 50) فأريد توضيح أكثر لهذا
الأمر وفيمَ يُفيد.
والسؤال الآخر يتعلق بمسألة كتابة التثاليم أو المسافات البرمجية؟ فما هي
القاعدة التي تحكم كتابتها.
ولَكَ جزيل الشكر.




 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 تستخدم عند تحديد العنصر المراد تركيز المؤشر عليه وليس خاصا 
بمربع التحرير فقط
// وعند الضغط على زر إفتح تظهر لنا رسالة لتأكيد أن هذا هو زر الفتح 
// ثم رسالة تخبرنا بمحتوى مربع التحرير 
// ثم نقوم بمسح محتوى مربع التحرير 
// ومن ثم نقوم بجعل المؤشر على مربع التحرير من جديد تلقائيا
}
 }
}

Other related posts: