الطريقة الاخرى برمجياً
private void button1_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = bmp;
bmp.Save(@"E:\screenshot1.png"); // saves the image
}
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
using (Graphics g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(0, 0, 0, 0, Screen.PrimaryScreen.Bounds.Size);
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = bmp;
bmp.Save(@"E:\screenshot1.png"); // saves the image
}
}
ملاحظة بسيطة لكي لايصعب عليك الموضوع
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
المقصود بالسطر السابق هو انشاء صورة بطول وعرض شاشة الكمبيوتر الخاص بك
مثلا لو تعمل كما يلي
Bitmap bmp = new Bitmap(700, 700);
سوف يتم التقاط صورة بطول وعرض الذي قمت بارساله الى دالة البناء
Bitmap bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
المقصود بالسطر السابق هو انشاء صورة بطول وعرض شاشة الكمبيوتر الخاص بك
مثلا لو تعمل كما يلي
Bitmap bmp = new Bitmap(700, 700);
سوف يتم التقاط صورة بطول وعرض الذي قمت بارساله الى دالة البناء
فيجوال سي شارب.pdf
1.6 MB
ملف يشرح لك اشياء كثيرة في الفيجوال استوديو
بسم الله الرحمن الرحيم
C# Enum
المعداد هو "فئة" خاصة تمثل مجموعة من الثوابت (متغيرات غير قابلة للتغيير / للقراءة فقط).
لإنشاء معداد ، استخدم كلمة enum وافصل عناصر التعداد بفاصلة:
Example
enum Level
{
Low,
Medium,
High
}
يمكنك الوصول إلى عناصر المعداد باستخدام النقطة (dot)
Level myVar = Level.Medium;
Console.WriteLine(myVar);
يمكنك أيضًا اضافة تعداد داخل الفصل:
Example
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
قيم المعداد
بشكل افتراضي ، يحتوي العنصر الأول من المعداد على القيمة 0. والثاني له القيمة 1 ، وهكذا.
للحصول على القيمة الصحيحة من عنصر ، يجب عليك تحويل العنصر بشكل صريح إلى int:
Example
enum Months
{
January, // 0
February, // 1
March, // 2
April, // 3
May, // 4
June, // 5
July // 6
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
يمكنك أيضًا تعيين قيم المعداد الخاصة بك ، وستقوم العناصر التالية بتحديث الرقم وفقًا لذلك
Example
enum Months
{
January, // 0
February, // 1
March=6, // 6
April, // 7
May, // 8
June, // 9
July // 10
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
The output will be:
7
Enum in a Switch Statement
غالبًا ما يتم استخدام المعدادات في عبارات switch للتحقق من القيم المقابلة
Example
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
switch(myVar)
{
case Level.Low:
Console.WriteLine("Low level");
break;
case Level.Medium:
Console.WriteLine("Medium level");
break;
case Level.High:
Console.WriteLine("High level");
break;
}
}
انتهى ............
https://www.tgoop.com/CsharpWindowsForm
C# Enum
المعداد هو "فئة" خاصة تمثل مجموعة من الثوابت (متغيرات غير قابلة للتغيير / للقراءة فقط).
لإنشاء معداد ، استخدم كلمة enum وافصل عناصر التعداد بفاصلة:
Example
enum Level
{
Low,
Medium,
High
}
يمكنك الوصول إلى عناصر المعداد باستخدام النقطة (dot)
Level myVar = Level.Medium;
Console.WriteLine(myVar);
يمكنك أيضًا اضافة تعداد داخل الفصل:
Example
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
قيم المعداد
بشكل افتراضي ، يحتوي العنصر الأول من المعداد على القيمة 0. والثاني له القيمة 1 ، وهكذا.
للحصول على القيمة الصحيحة من عنصر ، يجب عليك تحويل العنصر بشكل صريح إلى int:
Example
enum Months
{
January, // 0
February, // 1
March, // 2
April, // 3
May, // 4
June, // 5
July // 6
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
يمكنك أيضًا تعيين قيم المعداد الخاصة بك ، وستقوم العناصر التالية بتحديث الرقم وفقًا لذلك
Example
enum Months
{
January, // 0
February, // 1
March=6, // 6
April, // 7
May, // 8
June, // 9
July // 10
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
The output will be:
7
Enum in a Switch Statement
غالبًا ما يتم استخدام المعدادات في عبارات switch للتحقق من القيم المقابلة
Example
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
switch(myVar)
{
case Level.Low:
Console.WriteLine("Low level");
break;
case Level.Medium:
Console.WriteLine("Medium level");
break;
case Level.High:
Console.WriteLine("High level");
break;
}
}
انتهى ............
https://www.tgoop.com/CsharpWindowsForm
Telegram
برمجة تطبيقات الويندوز C# Programming
قناة تهتم بالمواضيع التالية :
برمجة قواعد البيانات
برمجة الشبكات
أمن المعلومات
بأستخدام لغة سي شارب
البوت الخاص بالقناة .
https://www.tgoop.com/CsharpWindowsFormbot
برمجة قواعد البيانات
برمجة الشبكات
أمن المعلومات
بأستخدام لغة سي شارب
البوت الخاص بالقناة .
https://www.tgoop.com/CsharpWindowsFormbot
Screen.zip
86.8 KB
تابع موضوع تصوير شاشة الكمبيوتر
بس هذه المرة عن طريق تحديد المستخدم بالماوس للمكان الذي سوف يتم التقاط الصورة
ملف المشروع 👆🏻
بس هذه المرة عن طريق تحديد المستخدم بالماوس للمكان الذي سوف يتم التقاط الصورة
ملف المشروع 👆🏻
مقولة أعجبتني:
كمبرمج..لاتعطي نفسك وعودا ببناء برنامج ضخم في الإجازة الصيفية.فالحجم هنا لا يزيد من القيمة.ركز على حل مشكلة ببرنامج فكرته بسيطة وصغير ومطلوب.
كمبرمج..لاتعطي نفسك وعودا ببناء برنامج ضخم في الإجازة الصيفية.فالحجم هنا لا يزيد من القيمة.ركز على حل مشكلة ببرنامج فكرته بسيطة وصغير ومطلوب.
اليوم اشارككم مقولات جميلة عن البرمجة قد تحفزك اكثر لتحقيق هدفك
البرمجة كائنية التوجه OOP عبارة ساحرة للمبرمجين ولكنها لا تعني شيئا للمستخدمين (فلا تهتم لكودك وتنسى برنامجك) ✨
كتابة 1000 سطر لبرنامج جديد من الصفر خير من تنقيح وتعديل كود برنامج ذا 100 سطر. ✨
اكبر خطأ يعتقده الكثير من المبرمجين هو امكانية كتابة برنامج دون اخطاء ✨
لا تثق في الاختبار الاول لبرنامجك الذي يعتمد على مسارات تنفيذ متعددة Multi-Threading، فنجاح التجربة الاولى والثانية والثالثة ليس دليلا على نجاح التجربة العاشرة! ✨
لا تجعل هدف برنامجك ان يسهل الامور (قدر) المستطاع، ولكن اجعل هدفه ان يسهل الامور (اكثر من) المستطاع ✨
ليس عيبا عليك ظهور اخطاء في المخرجات Outputs ان كانت المدخلات [من المستخدم] خاطئة ✨
كلما زادت جمل الشرط If في شفراتك المصدرية، كلما زاد ذكاء برنامجك. ✨
الكثير منا يعرف كيف يكتب شفرات Code، ولكن القليل (جدا قليل) يعرف كيف يكتب برامج Software ✨
وصية مبرمج حكيم لابنه ✨
يا بني، حينما أكلمك اصغ إلي جيدا وحبلك على غاربك، فأنا لا أطالبك بالتنفيذ لأننا فقدنا الأمل فيه، فحتى الأكواد التي نخطها بأناملنا تخذلنا ساعة التنفيذ.
يا بني، لا تتعلق بأحد مهما استحسنته فإن الناس نُسَخٌ، وقد تعجبك نسختهم الآنية فترتبط بها، ثم يصدمونك عند أول تحديث أو إصدار جديد.
يا بني، لقد أدركت أكوادا لا أفهم عاليها من سافلها، لكنني تحاملت على نفسي وسايرتها باجتهاد حتى صرت أراها أبهى من ضفائر بثينة، وأجمل من لوحات بيكاسو، فلا تحكم على أحد من أول وهلة قبل أن تعايشه وتعاشره.
يا بني، سيحيط بك الفاشلون والمُثَبِّطُون وسيقولون لك: لن تستطيع إنجاز شيء، فاضرب بكلامهم عرض الحائط فقد قالوا نفس الكلام عن لغة الأسمبلي، لكن تأمل الآن كم من اللغات الرائعة التي خرجت من رحمها.
يا بني، عِشْ على أمل، فالدنيا حلقة تكرارية من نوع while مرتكزة على شرط: ما دمت متفائلا ستحيى، فإن أنت يئست كنت أقرب لباطن الأرض منك إلى ظاهرها.
يا بني، شَرُّ القومِ قَوْمٌ مَرُّوُا بِأَرْضٍ فَلاَةٍ، فلما تمكن منهم الظمأ واستيأسوا من طلب الورد، أدركوا بئرا فشربوا منها حتى قضوا وطرهم، ووردوا إبلهم وملؤوا قرابهم، ثم طمروا البئر وواصلوا سفرهم لئلا ينتفع منها غيرهم، وما علموا أن لو سبقهم إليها أمثالهم لكانوا قد هلكوا عطشا، فكذلك مثل أهل الأكواد المحتكرين الذين كلما عثروا على سورس كود استحوذوا عليه وَضَنُّوا به عن غيرهم مخافة أن ينتفعوا منه أو يسابقوهم فيه، فبئس القوم هم، جانبهم وباعد بينك وبينهم فإنهم أناس لا يصطلى بنارهم ولايرتجى نفعهم
😂👍🏻
يا بني، حينما أكلمك اصغ إلي جيدا وحبلك على غاربك، فأنا لا أطالبك بالتنفيذ لأننا فقدنا الأمل فيه، فحتى الأكواد التي نخطها بأناملنا تخذلنا ساعة التنفيذ.
يا بني، لا تتعلق بأحد مهما استحسنته فإن الناس نُسَخٌ، وقد تعجبك نسختهم الآنية فترتبط بها، ثم يصدمونك عند أول تحديث أو إصدار جديد.
يا بني، لقد أدركت أكوادا لا أفهم عاليها من سافلها، لكنني تحاملت على نفسي وسايرتها باجتهاد حتى صرت أراها أبهى من ضفائر بثينة، وأجمل من لوحات بيكاسو، فلا تحكم على أحد من أول وهلة قبل أن تعايشه وتعاشره.
يا بني، سيحيط بك الفاشلون والمُثَبِّطُون وسيقولون لك: لن تستطيع إنجاز شيء، فاضرب بكلامهم عرض الحائط فقد قالوا نفس الكلام عن لغة الأسمبلي، لكن تأمل الآن كم من اللغات الرائعة التي خرجت من رحمها.
يا بني، عِشْ على أمل، فالدنيا حلقة تكرارية من نوع while مرتكزة على شرط: ما دمت متفائلا ستحيى، فإن أنت يئست كنت أقرب لباطن الأرض منك إلى ظاهرها.
يا بني، شَرُّ القومِ قَوْمٌ مَرُّوُا بِأَرْضٍ فَلاَةٍ، فلما تمكن منهم الظمأ واستيأسوا من طلب الورد، أدركوا بئرا فشربوا منها حتى قضوا وطرهم، ووردوا إبلهم وملؤوا قرابهم، ثم طمروا البئر وواصلوا سفرهم لئلا ينتفع منها غيرهم، وما علموا أن لو سبقهم إليها أمثالهم لكانوا قد هلكوا عطشا، فكذلك مثل أهل الأكواد المحتكرين الذين كلما عثروا على سورس كود استحوذوا عليه وَضَنُّوا به عن غيرهم مخافة أن ينتفعوا منه أو يسابقوهم فيه، فبئس القوم هم، جانبهم وباعد بينك وبينهم فإنهم أناس لا يصطلى بنارهم ولايرتجى نفعهم
😂👍🏻
👍1
موضوع اليوم عن كيفية عمل اختصارات لوحة المفاتيح في برنامجك Windows Forms
قي البداية يجب ان تجعل خاصية KeyPreview تساوي true وهي من خصائص الفورم
بعد ذالك تقوم باضافة هذه الدالة الى كلاس الفورم
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.F))
{
MessageBox.Show("What the Ctrl+F?");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
الان عندما تقوم بالضغط على Ctrl+F سوف تظهر رسالة MessageBox
يمكنك ان تقوم باي حدث تريده عند الضغط على الاختصار
قي البداية يجب ان تجعل خاصية KeyPreview تساوي true وهي من خصائص الفورم
بعد ذالك تقوم باضافة هذه الدالة الى كلاس الفورم
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.F))
{
MessageBox.Show("What the Ctrl+F?");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
الان عندما تقوم بالضغط على Ctrl+F سوف تظهر رسالة MessageBox
يمكنك ان تقوم باي حدث تريده عند الضغط على الاختصار