ربما عزيزي المبرمج تساءلت وتساءلت وتساءلت عن كيفية جعل برنامجك يستمر في الاستجابة للمستخدم اثناء قيامه في مهمة حسابية معينة معقدة مثل العاملي، فهل تساءلت عن هذا يوما إن كان جوابك نعم فأعتقد أن المقالة التالية سوف تشرح لك كيفيةعل ذلك بكل سهولة، وإن كان جوابك لا فلا بأس أن تتعلم كيف تستطيع تحقيق ذلك فهذا الأمر من اللأشياء المهمة والمهمة جدا، دعنا نحقق ذلك من خلال المثال السابق.
إقرأ المزيد ←
ربما تكون مثلي ومررت في حالة تصميم لواجهة تحتوي على العديد من الادوات التي أخذت تؤرقك كيف تصطف في الشكل والاماكن التي تريدها، دعني أخبرك أن حل مشكلتك غاية في السهولة وذلك باستخدام أحد الادوات الرائعة التي تريحك في توضع أدواتك من أزرار و غيرها الكثير، دعنا سوية نزيح الستار عن أداة تشبه الاداة التي يستخدمها أصحاب تصميم المواقع بشكل كبير، تكاد لا تفارق اي موقع إلا ما رحم ربي، إنها الاداة TableLayoutPanel، ربما أنك سريع البديهة بعد أن قرأت اسم الاداة ربما قد تبادر إلى ذهنك أنها أداة تشبه الجدول، بل هي جدول بحد ذلته إن أن الغاية هي تقسيم الفورم إلى خلايا مكونة من عدد من الأسطر والأعمدة، وبالتالي يمكنك تحديد كل اداة ترغب بإضافتها في الخلية التي تناسبك.
إقرأ المزيد ←
هل خطر ببالك يوما كيف تستطيع ان تجعل شكل الفورم مثلا ذو شكل دائري أو مثلث او الشكل الذي تراه مناسبا، من خلال هذه المقالة سوف نتعرف إلى كيفية عمل شكل الفورم إلى الشكل قطع أو دائرة أو المثلث بشكل بسيط جدا وواضح.
إقرأ المزيد ←
هل تعلم ان في هذه المقالة سوف نتناول ليس طعاما وانما موضوعا هاما، ألا هو إمكانية السحب والافلات في الادوات، ربما لم تفهم شيئا لذلك دعني أطرح عليك السؤال التالي:
اريد تصميم واجهة تحتوي على قائمة ببعض الاسماء (ربما الاصدقاء أو ما شابه)، وايضا إمكانية كتابة نص ما!!
إقرأ المزيد ←
هل تساءلت يوما كيف يمكنك ان تجعل نافذة الفورم تبدو كشكل معين، دعنا من خلال هذه المقالة نحدد كيف يمكننا القيم بذلك بكل سهولة
إقرأ المزيد ←
ربما عزيزي القارئ تساءلت يوما، الا استطيع ان اجعل شريط الادوات حر الحركة من أي جانب من جوانب الفورم، كشريط الادوات الموجدود في المحرر Visual Studio. الاجابة ستكون بكل تأكيد يمكنك عمل ذلك بسهولة فائقة، كيف نستطيع!! دعنا نرى ذلك سوية:
أولا قم بإنشاء فورم فارغة.
ثانيا اختر العنصر ToolStripContainer من صندوق الادوات، لتصبح النافذة على الشكل التالي:
إقرأ المزيد ←
لنفرض انك تود بانشاء تابع يقوم باعادة اسماء المهام قيد التنفيذ على حاسب ما، فماذا تظن انك فاعل من خلال الدوت نيت دع المثال التالي يوضح لك كيف يمكنك القيام بهذه المهمة السهلة بكل سهولة:
public static string[] GetTasks(string machineName)
{
string[] tasks;
Process[] p;
p = Process.GetProcesses(machineName);
tasks = new string[p.Length];
for (int i = 0; i < p.Length; i++)
{
tasks[i] = p[i].ProcessName;
}
return tasks;
}
فما رؤيك!!، دعنا نوضح قليلا ماذا فعلنا من خلال الدوت نيت، لقد استخدمنا التابع GetProcess التابع للصف Process، حيث مهمة هذا التايع ان يعيد لك مصفوفة من نوع Process بالمهام قيد التنفيذ على الحاسب المختار من خلال اسمه.أما من اجل الحصول على عدد المهام قيد التنفيذ استخدمت الخاصة p.Length والتي تحدد عد ابعاد الشعاع p والذي فعليا يمثل عدد المهام.وبقي امر اخير من اجل الحصول على اسمالهمة فيمكننا استخدام الخاصة ProcessName التي تعيد اسم المهمة المحددة من خلال المتحول i
وهناك العديد من الخصائص والتوابع التي يقدمها لك الصف Process، فمثلا هناك التابع Kill() الذي يقوم بإنهاء تنفيذ المهمة وغيرها الكثير، سأدع لك عملية اكتشاف ذلك لكي تستمتع بنفسك.بقي امر واحد وهو كيفية استخدام هذا التابع، ويكون ذلك بأحد السطريين التاليين:
string[] t1 = GetTasks(“تضع هنا اسم جهازك“);
string[] t2 = GetTasks(“.”);
السطر الأول واضح جدا، السطر الثاني وضعنا “.” أي اننا نقصد الجهاز الذي يتم تنفيذ هذه المهام عليه.
————————————————
في تطبيق تقوم ببنائه كيف يمكنك معرفة رقم السطر الذي يتم فيه حدوث استثناء exception؟؟ مثلا:
try
{
// كودك البرمجي
}
catch (Exception ex) {}
يمكنك ذلك بكل سهولة باستخدام الخاصة StackTrace التابعة للكائن ex المشتق من الصف Exception، فتصبح الشيفرة
try
{
// كودك البرمجي
}
catch (Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
طبعا للكائن ex العديد من الخصائص منها: Message و Source و TargetSite وغيرها الكثير.
فمثلا Message: تعطيك فحوى رسالة الخطأ، اي ما هو سبب وقوع الخطأ
TargetSite: اسم التابع الذي حدث فيه الاستثناء.