Telegram Web
هل تريد معرفه كيف يتم تغيير لغة الادخال في ويندوز


Application.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("ar-ye"));
تحويل للعربية


————————————————

Application.CurrentInputLanguage = InputLanguage.FromCulture(new System.Globalization.CultureInfo("en-us"));
تحويل للغة الانجليزية


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

اليوم سوف نشرح عن كيفية حذف حدث محدد لأي أداة تحكم

تابع معي الشرح .....

لنفرض ان لديك في الفورم 2 ازرار button1 و button2
الزر الأول يقوم بحذف الحدث Click للزر 2
الزر الثاني يحتوي على رسالة ترحيبية كما في الاكواد التالية
private void button1_Click(object sender, EventArgs e)
{
button2.Click -= new EventHandler(button2_Click);
}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}
الان اذا قمت بالتنفيذ وتقوم بالضغط على الزر 2 فسوف يعمل الحدث وتظهر الرساله
الان اضغط على الزر 1 وقم بالضغط على الزر 2
ستلاحظ ان الحدث لم يعمل و الرسالة لم تظهر والسبب انك قمت بحذف الحدث من خلال النقر على الزر الأول
button2.Click -= new EventHandler(button2_Click);

لاحظ ان تعليمة حذف الحدث بنفس تعليمة ربط الحدث مع أداة التحكم الاختلاف فقط في الإشارة + او –

اذا اردت ان تقوم بتفعيل الحدث مرة أخرى قم بإضافة زر ثالث
private void button3_Click(object sender, EventArgs e)
{
button2.Click += new EventHandler(button2_Click);
}

انتهى ...........
👍1
سؤال

هل تعرف ماوظيفة علامة الاستفهام ? في السي شارب ؟
Anonymous Poll
27%
نعم
73%
لا
if (checkBox1.Checked)
MessageBox.Show("A");
else
MessageBox.Show("B");
برمجة تطبيقات الويندوز C# Programming
if (checkBox1.Checked) MessageBox.Show("A"); else MessageBox.Show("B");
لاحظ كيف تم اختصار الكود السابق بواسطة علامة الاستفهام وفي MessageBox واحدة


MessageBox.Show(checkBox1.Checked ? "A": "B");
الصيغة العامة

condition ? [value for true] : [value for false]


condition الشرط
👍1
هل وضحت الفكرة ؟
Anonymous Poll
69%
نعم
31%
لا
الفرق بين علامتي & و &&
وعلامتي | و ||

AND & يختبر كلا الجانبين في كل مرة.

OR | اختبر كلا الجانبين في كل مرة.

AND && يختبر الجانب الثاني فقط إذا كان الجانب الأول صحيحًا.

Or || اختبار الجانب الثاني فقط إذا كان الجانب الأول خطأ.
👍2
سؤال للعباقرة

int a,b,c,d; a = (b = c = d = 10); كم قيمة a
Anonymous Poll
13%
0
4%
40
84%
10
برمجة تطبيقات الويندوز C# Programming
سؤال للعباقرة

int a,b,c,d; a = (b = c = d = 10); كم قيمة a
الاجابة الصحيحة 10

والكود السابق يكافئ الكود التالي

int a,b,c,d;
a = b = c = d = 10;
هل واجهتك المشكلة التي في الصورة اعلاه
Anonymous Poll
71%
نعم
29%
لا
بسم الله الرحمن الرحيم

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

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

الان تريد ان تفتح الحدث Click للزر من قائمة الاحداث بعد ان يفتح كود دالة الحدث Click
يقوم الكمبايلر بتهيئة الحدث داخل الدالة InitializeComponent
this.button1.Click += new System.EventHandler(this.button1_Click);
كما في الكود السابق

الان لو تقوم بحذف دالة الحدث Click او تعملها // تعليق بالكامل
الان قم بالعودة للفورم ستلاحظ ان المشكلة التي في الصورة السابقة
قد ظهرت لك والسبب انك حذفت الدالة والدالة مرتبطة بتهيئة الحدث Click
this.button1.Click += new System.EventHandler(this.button1_Click);

سوف يخبرك الكمبايلر ان هناك خطاء وهو اسم الدالة button1_Click غير موجود
مما يسبب في حدوث هذه المشكلة
كيف تقوم بحل المشكلة قم بالدخول الى الدالة InitializeComponent
وحذف الكود التالي او تعليق
this.button1.Click += new System.EventHandler(this.button1_Click);
سوف يعود كل شي كما كان سوف يتم حل المشكلة ويظهر فورم التصميم
في حال ظهرت لك المشكلة قم بعمل الاتي
اقرا الرسالة التي تظهر في الصورة التي بالون الأصفر مثل هذه الرسالة
The designer cannot process unknown name 'button1_Click' at line 47. The code within the method 'InitializeComponent' is generated by the designer and should not be manually modified. Please remove any changes and try opening the designer again.

يخبرك في هذه الرسالة ان الديزاينر لايستطيع معالجة اسم غير معروف في السطر 47


الان تقوم بالذهاب للسطر المحدد قم بحذفه او قم بعمل تعليق له

الان ساخبرك معلومة تفيدك
الفورم يعتبر أداة تحكم وكل اداااااااااة تحكم تعتبر كلاااااااس

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

والجزء الاخر للمبرمج لمعالجة دوال الاحداث على مايريد او الدوال الأخرى



https://www.tgoop.com/CsharpWindowsForm
الدالة performClick()

وظيفتها توليد حدث Click لزر

مثال
int i = 0;
private void button1_Click(object sender, EventArgs e)
{

if (i % 2 == 0)
{
button2.PerformClick();
}
else
{

MessageBox.Show("button2 was NOT clicked");
}

i = i + 1;

}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}

عند الضغط على الزر الأول سيتم تنفيذ دالة الزر الثاني وعند الضغط مرة أخرى سيتم تنفيذ دالة الزر الأول
وهكذا اذا كانت i عدد زوجي سوف يتم تنفيذ الزر الثاني واذا كانت عدد فردي سيتم تنفيذ الزر الأول


يعني ان الدالة perfromClick تعمل وكأن المستخدم هو الذي ذهب بمؤشر الماوس الى الزر الثاني وضغط عليه

مثال اسهل لكي توضح الفكرة اكثر

private void button1_Click(object sender, EventArgs e)
{


button2.PerformClick();



}

private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}





https://www.tgoop.com/CsharpWindowsForm
بسم الله الرحمن الرحيم

اليوم سوف نشرح طريقة أخرى لكيفية تحريك الفورم في حال كانت خاصية FormBorderStyle=none

الطريقة الاولى التي شرحناها في موضوع Custom Control Box الأداة التي كانت تقوم بتحريك الفورم هي panel وكنا نقوم بكتابة الاكواد المطلوبة في كل دالة حدث
MouseDown,MouseUp,MouseMove

الان شاهد الكود التالي والذي قمنا بكتابته داخل دالة البناء للفورم
int x, y;
public Form1()
{
InitializeComponent();


this.Load += delegate (object Sender, EventArgs E)
{

Button1.MouseDown += delegate (object Send, MouseEventArgs M)
{
this.AllowDrop = true;

y = Cursor.Position.Y - this.DesktopLocation.Y;
x = Cursor.Position.X - this.DesktopLocation.X;
};
};
Button1.MouseUp += delegate (object Send, MouseEventArgs E)
{
AllowDrop = false;
};

Button1.MouseMove += delegate (object Sender, MouseEventArgs E)
{
if (AllowDrop)
{
this.DesktopLocation = new Point(Cursor.Position.X - x, Cursor.Position.Y - y);
}

};
}
الان عندما تضغط على الزر button1 وتقوم بتحريك سوف يتم سحب الفورم من مكان الى اخر


شاهد هذا الكود ايضاً

int x, y;
public Form1()
{
InitializeComponent();


this.Load += delegate (object Sender, EventArgs E)
{

this.MouseDown += delegate (object Send, MouseEventArgs M)
{
this.AllowDrop = true;

y = Cursor.Position.Y - this.DesktopLocation.Y;
x = Cursor.Position.X - this.DesktopLocation.X;
};
};
this.MouseUp += delegate (object Send, MouseEventArgs E)
{
AllowDrop = false;
};

this.MouseMove += delegate (object Sender, MouseEventArgs E)
{
if (AllowDrop)
{
this.DesktopLocation = new Point(Cursor.Position.X - x, Cursor.Position.Y - y);
}

};
}

الان الفورم هو الذي سوف يقوم بتحريك نفسه
عندما تحدث الاحداث التالية MouseDown و MouseMove
الكودين السابقين يعملين سوا كانت الخاصية FormBordeStyle
تساوي أي قيمة

انتهى ...........
الشرح التالي

كيف تحديد ونسخ نص معروض في الفورم

كما في الشكل
شاهد الصورة السابقة

ماذا تعتقد ماهي اداة التحكم التي في الفورم
Anonymous Poll
30%
TextBox
46%
Lable
24%
Button
برمجة تطبيقات الويندوز C# Programming
شاهد الصورة السابقة

ماذا تعتقد ماهي اداة التحكم التي في الفورم
طبعاً الاداة هي TextBox

قم بتغيير الخصائص الخاصة بها الى التالي

TextBox1.ReadOnly = true;
TextBox1.BorderStyle = 0;
TextBox1.BackColor = this.BackColor;
TextBox1.TabStop = false;
TextBox1.Multiline = True; // If needed
2025/07/14 12:02:56
Back to Top
HTML Embed Code: