السلام عليكم
اليوم سوف ننشر بعض الاكواد التي قد تساعدك في صناعة برامجك بالمتطلبات والافكار التي تريد
اليوم سوف ننشر بعض الاكواد التي قد تساعدك في صناعة برامجك بالمتطلبات والافكار التي تريد
لنبدا بالكود الاول :
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
key.SetValue("My Program", "\"" + Application.ExecutablePath + "\"");
}
هذا الكود يقوم بتشغيل برنامجك عند بدء تشغيل الكمبيوتر
مثلا اذا قمت باعادة تشغيل جهاز ك وعند ما يفتتح سطح المكتب يشتغل البرنامج حتى والفيجوال استوديو مغلق
http://www.tgoop.com/CsharpWindowsForm
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
key.SetValue("My Program", "\"" + Application.ExecutablePath + "\"");
}
هذا الكود يقوم بتشغيل برنامجك عند بدء تشغيل الكمبيوتر
مثلا اذا قمت باعادة تشغيل جهاز ك وعند ما يفتتح سطح المكتب يشتغل البرنامج حتى والفيجوال استوديو مغلق
http://www.tgoop.com/CsharpWindowsForm
Telegram
برمجة تطبيقات الويندوز C# Programming
قناة تهتم بالمواضيع التالية :
برمجة قواعد البيانات
برمجة الشبكات
أمن المعلومات
بأستخدام لغة سي شارب
البوت الخاص بالقناة .
https://www.tgoop.com/CsharpWindowsFormbot
برمجة قواعد البيانات
برمجة الشبكات
أمن المعلومات
بأستخدام لغة سي شارب
البوت الخاص بالقناة .
https://www.tgoop.com/CsharpWindowsFormbot
برمجة تطبيقات الويندوز C# Programming
لنبدا بالكود الاول : using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) { key.SetValue("My Program", "\"" + Application.ExecutablePath + "\""); } هذا الكود يقوم بتشغيل برنامجك…
هذا الكود يتعامل مع الريجستر يقوم باضافة برنامجك في مسار بدء التشغيل
❤1
كيف تقوم بتطبيق هذا الكود
قم باضافة زر او اي اداة
في دالة الحدث Click للاداة قم بكتابة الكود بداخل الدالة
قم باضافة زر او اي اداة
في دالة الحدث Click للاداة قم بكتابة الكود بداخل الدالة
👍1
عندما تنفذ وتضغط على الزر
وتعمل اعادة تشغيل سوف تلاحظ عندما يفتح سطح المكتب يشتغل البرنامج الذي قمت بتطبيق الكود بداخلة
وتعمل اعادة تشغيل سوف تلاحظ عندما يفتح سطح المكتب يشتغل البرنامج الذي قمت بتطبيق الكود بداخلة
using (RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
key.DeleteValue("My Program", false);
}
هذا الكود يقوم بمسح برنامجك من مسار بدء التشغيل
يعني اذا قمت باضافة زر وو ضعت هذا الكود بداخل الدالة Click لهذا الزر
وتقوم بالتنفيذ وتضغط على هذا الزر فأن البرنامج لن يعمل مرة اخرى عند بدء تشغيل الكمبيوتر
{
key.DeleteValue("My Program", false);
}
هذا الكود يقوم بمسح برنامجك من مسار بدء التشغيل
يعني اذا قمت باضافة زر وو ضعت هذا الكود بداخل الدالة Click لهذا الزر
وتقوم بالتنفيذ وتضغط على هذا الزر فأن البرنامج لن يعمل مرة اخرى عند بدء تشغيل الكمبيوتر
My Program
عبارة عن اسم البرنامج الخاص بك او اي اسم تريد عمله
ولاكن يجب ان يكون في كلا الكودين نفس الاسم
عبارة عن اسم البرنامج الخاص بك او اي اسم تريد عمله
ولاكن يجب ان يكون في كلا الكودين نفس الاسم
حسناً سوف نقوم بمواصله الشرح و نقوم بتوضيح الاكواد السابقة في وقت لاحق
الان سوف نشرح كيف تقوم بتعطيل زر اغلاق الفورم
يعني اذا ضغط المستخدم على زر الاغلاق فلن يتم اغلاق الفورم
يعني اذا ضغط المستخدم على زر الاغلاق فلن يتم اغلاق الفورم
قم بفتح دالة الحدث Form Closing
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
برمجة تطبيقات الويندوز C# Programming
الان سوف نشرح كيف تقوم بتعطيل زر اغلاق الفورم يعني اذا ضغط المستخدم على زر الاغلاق فلن يتم اغلاق الفورم
الان اذا قمت بالضغط على زر الاغلاق او قمت بالضغط على Ctrl+F4 فلن يعمل حدث اغلاق الفورم
والسبب انك قمت بجعل قيمه الخاصية Cancel =true
يعني الغاء تنفيذ الحدث
والسبب انك قمت بجعل قيمه الخاصية Cancel =true
يعني الغاء تنفيذ الحدث
برمجة تطبيقات الويندوز C# Programming
الان سوف نشرح كيف تقوم بتعطيل زر اغلاق الفورم يعني اذا ضغط المستخدم على زر الاغلاق فلن يتم اغلاق الفورم
قد يقول البعض ايش الفائدة من هذه العملية
اقلك ماهي الفائدة :
لنفرض انك تقوم ببرمجة برنامج يقوم باظهار اشعارات للمستخدم او يقوم بتذكيره بعمل مهام او مثل برنامج اذكار المسلم
في هذه الحالة لو كان زر الاغلاق يعمل لن يتم عمل برنامجك ابدا الا اذا كان مفتوح وعند ما يتم اغلاقه يتوقف عن العمل
ماذا نعمل لكي يقوم المستخدم بالضغط على الزر وكانو قام باغلاق الفورم
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
اقلك ماهي الفائدة :
لنفرض انك تقوم ببرمجة برنامج يقوم باظهار اشعارات للمستخدم او يقوم بتذكيره بعمل مهام او مثل برنامج اذكار المسلم
في هذه الحالة لو كان زر الاغلاق يعمل لن يتم عمل برنامجك ابدا الا اذا كان مفتوح وعند ما يتم اغلاقه يتوقف عن العمل
ماذا نعمل لكي يقوم المستخدم بالضغط على الزر وكانو قام باغلاق الفورم
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
👍1
برمجة تطبيقات الويندوز C# Programming
قد يقول البعض ايش الفائدة من هذه العملية اقلك ماهي الفائدة : لنفرض انك تقوم ببرمجة برنامج يقوم باظهار اشعارات للمستخدم او يقوم بتذكيره بعمل مهام او مثل برنامج اذكار المسلم في هذه الحالة لو كان زر الاغلاق يعمل لن يتم عمل برنامجك ابدا الا اذا كان مفتوح وعند…
قمنا بتعطيل حدث الاغلاق
وبعد ذلك اخفاء البرنامج وكانوا تم اغلاقه
وبعد ذلك اخفاء البرنامج وكانوا تم اغلاقه
نكمل
الان تريد ان تعرف ان برنامجك يعمل ولم يتم اغلاقه وتريد ان تعمل وصول سريع للبرنامج
وذلك من خلال اظهار ايقونه برنامجك بجانب ايقونات البطارية والصوت وبقية الايقونات
يوجد اداة في ToolBox تقوم باظهار ايقونة للبرنامج الخاص بك بجانب تلك الايقونات
اسمها NotifyIcon
تظهر تحت الفورم قم باضافة ايقونه لها
والان في حدث Closing
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
}
قم بالدخول للحدث MouseDouble Click للاداة notifyIcon
واكتب
this.show();
الان تريد ان تعرف ان برنامجك يعمل ولم يتم اغلاقه وتريد ان تعمل وصول سريع للبرنامج
وذلك من خلال اظهار ايقونه برنامجك بجانب ايقونات البطارية والصوت وبقية الايقونات
يوجد اداة في ToolBox تقوم باظهار ايقونة للبرنامج الخاص بك بجانب تلك الايقونات
اسمها NotifyIcon
تظهر تحت الفورم قم باضافة ايقونه لها
والان في حدث Closing
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
}
قم بالدخول للحدث MouseDouble Click للاداة notifyIcon
واكتب
this.show();
برمجة تطبيقات الويندوز C# Programming
السلام عليكم
ايهما تفضل بأن يكون الشرح
ايهما تفضل بأن يكون الشرح
نتيجة الاسطلاع
ان يتم الشرح في القناة
ان يتم الشرح في القناة
مارئيكم بهذه الفكرة
المواضيع الطويلة والتي تتطلب شرح بالصور نكون نشرحها pdf والمواضيع القصيرة نشرحها بالقناة الاشخاص الذي مع هذه الفكرة يصوت بنعم
المواضيع الطويلة والتي تتطلب شرح بالصور نكون نشرحها pdf والمواضيع القصيرة نشرحها بالقناة الاشخاص الذي مع هذه الفكرة يصوت بنعم
Anonymous Poll
97%
نعم
3%
لا
برمجة تطبيقات الويندوز C# Programming
الخطوات 1- انشاء مشروع Windows Forms 2- قم با اضافة كلاس جديد من خيار project في الشريط العلوي في الفيجوال 3- طبق الكود التالي public class NumericTextBox : System.Windows.Forms.TextBox { public int NumberOfDigits { get…
سوف نعيد شرح هذا المثال مع اضافة بعض الاشياء
بسم الله الرحمن الرحيم
سوف نعيد شرح كيف تقوم بعمل textbox مخصص
يحتوي على ميزتين لاتوجد في textbox الافتراضي
في البرمجة يوجد نوعان من البيانات
1- بيانات معرفة بداخل النظام مثل int,char,string
2- وبيانات من تعريف المستخدم (المبرمج) مثل الكلاسات التراكيب
كذالك ينطبق نفس الكلام السابق على أدوات التحكم يوجد أدوات تحكم معرفة بداخل نظام اللغة مثل الأدوات الموجودة مسبقا
وأيضا أدوات تحكم مخصصه يقوم بتعريفها المبرمج
ويمكن للمبرمج من انشاء أدوات تحكم بعده طرق
الأولى عنطريق User Control
الثانية عنطريق الوراثة وهذا ماسوف نقوم بشرحه في موضوع اليوم
لنبدأ:
قم بعمل مشروع Windows Form
بعد ان يتم فتح المشروع
من قائمة project انشاء كلاس
قم بتسمية الكلاس
في شرحنا سوف نقوم بتسمية الكلاس MyTextBox
public class MyTextBox : System.Windows.Forms.TextBox
{
public int NumberOfDigits
{
get
{
int digits = 0;
foreach (char c in Text)
{
if (Char.IsDigit(c)) digits++;
}
return digits;
}
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
في البداية قمنا بالوراثة من الفئة TextBox وقمنا بكتابة أسماء الفضاءات
وذلك لانك عندما تقم بانشاء كلاس لايتم تضمين فضاء System.Windows.Forms
بامكانك تضمينه وحذف أسماء الفضاءات التي قبل TextBox
الخاصية الأولى وظيفتها تقوم بمعرفه عدد خانات الأرقام المكتوبة في MyTextBox خاصية قراءة فقط لذالك عندما تشاهدها في قائمة الخصائص ستلاحظ ان لون النص مختلف عن باقي الخصائص وذلك يعني انك لاتستطيع اسناد قيمه لها وذلك لانها خاصية get فقط
ولكي تقوم بمعرفه كيف تستدعي هذه الخاصية بهذا الشكل
MessageBox.Show(myTextBox1.NumberOfDigits.ToString());
الان ننتقل الى الدالة OnKeyPress
دالة ناسخة من نوع void تنسخ الدالة الوهمية الموجودة في الكلاس Control
هذه الدالة تقوم بفحص ادخال المستخدم اذا كانت حروف تمنع الكتابة في MyTextBox
اذا كانت ارقام تسمح بالكتابة
بعد ذالك قمنا بارسال وسيط هذه الدالة الى الدالة الأساسية باستخدام الكلمة base
وسيط هذه الدالة هوعبارة عن حدث يحدث عند الضغط بازرار الكيبورد
الان انتهينا من عمل أداة التحكم الجديدة
قم الان بالضغط على اختصار ctrl+shift+B
لكي يتم إعادة بناء المشروع ومن ثم اذهب الى قائمة ToolBox
وابحث عن الأداة الجديدة MyTextBox
قم باضافتها للفورم وقم بتنفيذ ستلاحظ انك لن تستطيع كتابة حروف
تقبل ارقام فقط
شيء ممل ان تكون هذه الأداة لاتقبل الا ارقام فقط ما رائيك ان نجعلها في حالة تدعم ارقام وفي حالة أخرى تدعم سلسلة نصية سوا كانت ارقام وحروف
ماهي هذه الحالات تابع معي
نقوم بتعريف متغير bool numbersOnly ارقام فقط
ونقوم بتعريف خاصية لهذا المتغير
public bool NumbersOnly
{
get { return this.numbersOnly; }
set { this.numbersOnly = value; }
}
في حالة كانت قيمة هذه الخاصية true سوف يتم كتابة ارقام فقط
اذا كانت false ارقام وحروف
تم جعل قيمتها الافتراضية ب false
يمكنك تغيير قيمة هذه الخاصية الى true من قائمة الخصائص بعد ما نكمل الشرح
public MyTextBox()
{
numbersOnly = false;
}
اسناد القيمة الافتراضية للخاصية داخل دالة البناء للفئة
الان نقوم باخر خطوة وهي إضافة شرط في دالة OnKeyPress
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)&& NumbersOnly==true)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
الكود بالشكل النهائي :
public class MyTextBox : System.Windows.Forms.TextBox
{
public int NumberOfDigits
{
get
{
int digits = 0;
foreach (char c in Text)
{
if (Char.IsDigit(c)) digits++;
}
return digits;
}
}
سوف نعيد شرح كيف تقوم بعمل textbox مخصص
يحتوي على ميزتين لاتوجد في textbox الافتراضي
في البرمجة يوجد نوعان من البيانات
1- بيانات معرفة بداخل النظام مثل int,char,string
2- وبيانات من تعريف المستخدم (المبرمج) مثل الكلاسات التراكيب
كذالك ينطبق نفس الكلام السابق على أدوات التحكم يوجد أدوات تحكم معرفة بداخل نظام اللغة مثل الأدوات الموجودة مسبقا
وأيضا أدوات تحكم مخصصه يقوم بتعريفها المبرمج
ويمكن للمبرمج من انشاء أدوات تحكم بعده طرق
الأولى عنطريق User Control
الثانية عنطريق الوراثة وهذا ماسوف نقوم بشرحه في موضوع اليوم
لنبدأ:
قم بعمل مشروع Windows Form
بعد ان يتم فتح المشروع
من قائمة project انشاء كلاس
قم بتسمية الكلاس
في شرحنا سوف نقوم بتسمية الكلاس MyTextBox
public class MyTextBox : System.Windows.Forms.TextBox
{
public int NumberOfDigits
{
get
{
int digits = 0;
foreach (char c in Text)
{
if (Char.IsDigit(c)) digits++;
}
return digits;
}
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
في البداية قمنا بالوراثة من الفئة TextBox وقمنا بكتابة أسماء الفضاءات
وذلك لانك عندما تقم بانشاء كلاس لايتم تضمين فضاء System.Windows.Forms
بامكانك تضمينه وحذف أسماء الفضاءات التي قبل TextBox
الخاصية الأولى وظيفتها تقوم بمعرفه عدد خانات الأرقام المكتوبة في MyTextBox خاصية قراءة فقط لذالك عندما تشاهدها في قائمة الخصائص ستلاحظ ان لون النص مختلف عن باقي الخصائص وذلك يعني انك لاتستطيع اسناد قيمه لها وذلك لانها خاصية get فقط
ولكي تقوم بمعرفه كيف تستدعي هذه الخاصية بهذا الشكل
MessageBox.Show(myTextBox1.NumberOfDigits.ToString());
الان ننتقل الى الدالة OnKeyPress
دالة ناسخة من نوع void تنسخ الدالة الوهمية الموجودة في الكلاس Control
هذه الدالة تقوم بفحص ادخال المستخدم اذا كانت حروف تمنع الكتابة في MyTextBox
اذا كانت ارقام تسمح بالكتابة
بعد ذالك قمنا بارسال وسيط هذه الدالة الى الدالة الأساسية باستخدام الكلمة base
وسيط هذه الدالة هوعبارة عن حدث يحدث عند الضغط بازرار الكيبورد
الان انتهينا من عمل أداة التحكم الجديدة
قم الان بالضغط على اختصار ctrl+shift+B
لكي يتم إعادة بناء المشروع ومن ثم اذهب الى قائمة ToolBox
وابحث عن الأداة الجديدة MyTextBox
قم باضافتها للفورم وقم بتنفيذ ستلاحظ انك لن تستطيع كتابة حروف
تقبل ارقام فقط
شيء ممل ان تكون هذه الأداة لاتقبل الا ارقام فقط ما رائيك ان نجعلها في حالة تدعم ارقام وفي حالة أخرى تدعم سلسلة نصية سوا كانت ارقام وحروف
ماهي هذه الحالات تابع معي
نقوم بتعريف متغير bool numbersOnly ارقام فقط
ونقوم بتعريف خاصية لهذا المتغير
public bool NumbersOnly
{
get { return this.numbersOnly; }
set { this.numbersOnly = value; }
}
في حالة كانت قيمة هذه الخاصية true سوف يتم كتابة ارقام فقط
اذا كانت false ارقام وحروف
تم جعل قيمتها الافتراضية ب false
يمكنك تغيير قيمة هذه الخاصية الى true من قائمة الخصائص بعد ما نكمل الشرح
public MyTextBox()
{
numbersOnly = false;
}
اسناد القيمة الافتراضية للخاصية داخل دالة البناء للفئة
الان نقوم باخر خطوة وهي إضافة شرط في دالة OnKeyPress
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)&& NumbersOnly==true)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
الكود بالشكل النهائي :
public class MyTextBox : System.Windows.Forms.TextBox
{
public int NumberOfDigits
{
get
{
int digits = 0;
foreach (char c in Text)
{
if (Char.IsDigit(c)) digits++;
}
return digits;
}
}
👍1
bool numbersOnly;
public MyTextBox()
{
numbersOnly = false;
}
public bool NumbersOnly
{
get { return this.numbersOnly; }
set { this.numbersOnly = value; }
}
protected override void OnKeyPress(KeyPressEventArgs e)
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)&&NumbersOnly==true)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
public MyTextBox()
{
numbersOnly = false;
}
public bool NumbersOnly
{
get { return this.numbersOnly; }
set { this.numbersOnly = value; }
}
protected override void OnKeyPress(KeyPressEventArgs e)
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)&&NumbersOnly==true)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}