نماذج ويندوز
ويندوز فورمز ، المعروف أيضًا باسم WinForms ، هو مكتبة فئات واجهة مستخدم رسومية (GUI) مجانية ومفتوحة المصدر، تُستخدم لبناء تطبيقات سطح المكتب لنظام ويندوز، وهي مُضمنة كجزء من Microsoft .NET أو .NET Framework أو Mono ، [ 2 ] وتوفر منصة لكتابة تطبيقات العميل لأجهزة سطح المكتب والكمبيوتر المحمول والكمبيوتر اللوحي. [ 3 ] على الرغم من أنها تُعتبر بديلاً لمكتبة Microsoft Foundation Class Library الأقدم والأكثر تعقيدًا والمبنية على لغة C++ ، إلا أنها لا تُقدم نموذجًا مماثلاً [ 4 ] ، وتقتصر وظيفتها على كونها منصة لطبقة واجهة المستخدم في حلول متعددة الطبقات . [ 5 ]
في مؤتمر مايكروسوفت كونكت المنعقد في 4 ديسمبر 2018، أعلنت مايكروسوفت عن إطلاق ويندوز فورمز كمشروع مفتوح المصدر على منصة جيت هاب ، وذلك بموجب ترخيص MIT . مع هذا الإصدار، أصبح ويندوز فورمز متاحًا للمشاريع التي تستهدف إطار عمل .NET Core . ومع ذلك، لا يزال إطار العمل متاحًا فقط على منصة ويندوز، ويبقى تطبيق مونو غير المكتمل لويندوز فورمز هو التطبيق الوحيد متعدد المنصات. [ 6 ] [ 7 ]
بنيان

تطبيق Windows Forms هو تطبيق يعتمد على الأحداث، ويدعمه إطار عمل .NET من مايكروسوفت . على عكس برنامج الدفعات ، يقضي هذا التطبيق معظم وقته في انتظار قيام المستخدم بإجراء ما، مثل ملء مربع نص أو النقر على زر . يمكن كتابة كود التطبيق بلغة برمجة .NET مثل C# أو Visual Basic .
تُتيح Windows Forms الوصول إلى عناصر التحكم الشائعة الأصلية لواجهة مستخدم Windows من خلال تغليف واجهة برمجة تطبيقات Windows الحالية في كود مُدار . [ 8 ] وبفضل Windows Forms، يُوفر إطار عمل .NET تجريدًا أكثر شمولًا فوق واجهة برمجة تطبيقات Win32 مقارنةً بـ Visual Basic أو MFC. [ 9 ]
تُشبه Windows Forms مكتبة Microsoft Foundation Class (MFC) في تطوير تطبيقات العميل. فهي توفر غلافًا يتألف من مجموعة من فئات C++ لتطوير تطبيقات Windows. مع ذلك، فهي لا توفر إطار عمل افتراضيًا للتطبيقات مثل MFC. كل عنصر تحكم في تطبيق Windows Forms هو نسخة ملموسة من فئة معينة.
سمات
جميع العناصر المرئية في مكتبة فئات Windows Forms مشتقة من فئة Control. توفر هذه الفئة الحد الأدنى من وظائف عنصر واجهة المستخدم، مثل الموقع والحجم واللون والخط والنص، بالإضافة إلى الأحداث الشائعة كالنقر والسحب والإفلات. كما تدعم فئة Control خاصية الإرساء، مما يسمح لعنصر التحكم بإعادة ترتيب موضعه أسفل العنصر الأصل. ويُسهم دعم Microsoft Active Accessibility في فئة Control في مساعدة المستخدمين ذوي الإعاقة على استخدام Windows Forms بشكل أفضل. [ 10 ]
في Visual Studio، تُنشأ النماذج باستخدام تقنية السحب والإفلات . تُستخدم أداة لوضع عناصر التحكم (مثل مربعات النص والأزرار وغيرها) على النموذج (النافذة). تحتوي عناصر التحكم على سمات ومعالجات أحداث مرتبطة بها. تُوفّر قيم افتراضية عند إنشاء عنصر التحكم، ولكن يمكن للمبرمج تغييرها. يمكن تعديل العديد من قيم السمات أثناء التشغيل بناءً على إجراءات المستخدم أو التغييرات في البيئة، مما يوفر تطبيقًا ديناميكيًا. على سبيل المثال، يمكن إدراج كود في معالج حدث تغيير حجم النموذج لإعادة وضع عنصر التحكم بحيث يبقى متمركزًا في النموذج، أو يتوسع لملء النموذج، وما إلى ذلك. من خلال إدراج كود في معالج حدث ضغط مفتاح في مربع نص، يمكن للبرنامج ترجمة حالة الأحرف للنص المُدخل تلقائيًا، أو حتى منع إدخال أحرف معينة.
إلى جانب توفير إمكانية الوصول إلى عناصر تحكم ويندوز الأصلية مثل الزر، ومربع النص، ومربع الاختيار، وقائمة العرض، أضافت ويندوز فورمز عناصر تحكم خاصة بها لاستضافة ActiveX ، وترتيب التخطيط، والتحقق من الصحة، وربط البيانات الغنية. يتم عرض عناصر التحكم هذه باستخدام GDI +. [ 10 ]
التاريخ والمستقبل
تمامًا مثل Abstract Window Toolkit (AWT)، واجهة برمجة تطبيقات Java المكافئة ، كانت Windows Forms طريقةً مبكرةً وسهلةً لتوفير مكونات واجهة المستخدم الرسومية لإطار عمل .NET . تعتمد Windows Forms على واجهة برمجة تطبيقات Windows الحالية، وبعض عناصر التحكم فيها تُغلّف ببساطة مكونات Windows الأساسية. [ 11 ] تسمح بعض الطرق بالوصول المباشر إلى ردود استدعاء Win32 ، غير المتوفرة في الأنظمة الأساسية غير Windows. [ 11 ]
في إطار عمل .NET 2.0، اكتسبت تطبيقات ويندوز فورمز عناصر تحكم تخطيط أكثر ثراءً، وعناصر تحكم شريط الأدوات على غرار Office 2003، ومكونات متعددة الخيوط، ودعمًا أغنى لوقت التصميم وربط البيانات، بالإضافة إلى ClickOnce للنشر عبر الويب. [ 12 ] [ 13 ]
مع إصدار .NET Framework 3.0، أصدرت مايكروسوفت واجهة برمجة تطبيقات ثانية موازية لعرض واجهات المستخدم الرسومية: Windows Presentation Foundation (WPF) المستندة إلى DirectX، [ 14 ] بالإضافة إلى لغة تعريفية لواجهة المستخدم الرسومية تسمى XAML . [ 15 ]
خلال جلسة أسئلة وأجوبة في مؤتمر Build 2014 ، أوضحت مايكروسوفت أن نظام Windows Forms يخضع للصيانة، ولن تُضاف إليه أي ميزات جديدة، ولكن سيتم إصلاح الأخطاء المكتشفة. [ 16 ] ومؤخرًا، تم تقديم دعم مُحسّن للشاشات عالية الدقة (DPI) لعناصر تحكم Windows Forms المختلفة في تحديثات الإصدار 4.5 من .NET Framework. [ 17 ]
التوافق مع الإصدارات السابقة من XAML مع Windows Forms
لأغراض التطوير المستقبلي، استبدلت مايكروسوفت نظام Windows Forms بواجهة مستخدم رسومية (GUI) مبنية على لغة XAML باستخدام أطر عمل مثل WPF و UWP . مع ذلك، لا يزال بالإمكان إضافة مكونات واجهة المستخدم الرسومية بالسحب والإفلات بطريقة مشابهة لنظام Windows Forms، وذلك باستبدال عنصر XAML الرئيسي للصفحة/النافذة بعنصر تحكم "Canvas". عند إجراء هذا التغيير، يستطيع المستخدم إنشاء نافذة بطريقة مشابهة لنظام Windows Forms، وذلك بسحب وإفلات المكونات مباشرةً باستخدام واجهة المستخدم الرسومية في Visual Studio.
على الرغم من أن لغة XAML توفر خاصية السحب والإفلات للعناصر عبر عنصر تحكم Canvas، إلا أن عناصر تحكم XAML تشبه عناصر تحكم Windows Forms فقط، وليست متوافقة معها بشكل كامل. فهي تؤدي وظائف متشابهة وتتشابه في المظهر، لكن خصائصها وأساليبها تختلف بما يكفي لتتطلب إعادة تعيينها من واجهة برمجة تطبيقات إلى أخرى.
التنفيذ البديل
Mono هو مشروع تقوده Xamarin (كانت سابقًا Ximian ، ثم Novell ) لإنشاء مجموعة أدوات متوافقة مع معيار Ecma وإطار عمل .NET . في عام 2011، أُعلن عن اكتمال دعم Mono لـ System.Windows.Forms بدءًا من .NET 2.0 ؛ [ 18 ] يعمل System.Windows.Forms 2.0 بشكل أصلي على نظام التشغيل Mac OS X. [ 19 ] ومع ذلك، لم يتم تطوير System.Windows.Forms بشكل فعال على Mono. [ 20 ] لم يكن التوافق الكامل مع .NET ممكنًا، لأن System.Windows Forms من Microsoft هو في الأساس غلاف حول واجهة برمجة تطبيقات Windows ، وتتيح بعض الطرق الوصول المباشر إلى ردود استدعاء Win32 ، وهي غير متوفرة في منصات أخرى غير Windows. [ 11 ] يعتمد تطبيق WinForms في Mono على مكتبة libgdiplus الخاصة بـ Mono، والتي تُنفذ GDI+ على Gtk و Pango . [ 21 ]
تكمن المشكلة الأهم في أنه منذ الإصدار 5.2، [ 22 ] تم تحديث Mono بحيث أصبح افتراضيًا يعمل على منصة 64 بت. مع ذلك، تم بناء System.Windows.Forms على Mono لنظام التشغيل Macintosh OS X باستخدام نظام فرعي 32 بت، وهو Carbon . [ 23 ] وحتى الآن ، لا يزال إصدار 64 بت من System.Windows.Forms غير متوفر للاستخدام على نظام Mac OS X، ولا يُتوقع تشغيل سوى تطبيقات .NET المصممة لمنصة 32 بت.
انظر أيضاً
- مايكروسوفت فيجوال ستوديو
- انقر مرة واحدة
- مجموعة أدوات النوافذ المجردة (AWT)، وهي واجهة برمجة تطبيقات واجهة المستخدم الرسومية (API) المكافئة للغة برمجة جافا
- مكتبة المكونات المرئية (VCL) من بورلاند
- الاختبار المرئي ، أتمتة الاختبار
مراجع
- ↑ "v10.0.8" . github.com . 2026-05-12 . تم الاطلاع عليه بتاريخ 2026-05-28 .
- ↑ سيلز، كريس (6 سبتمبر 2003). برمجة نماذج ويندوز بلغة سي شارب ( الطبعة الأولى). أديسون-ويسلي بروفيشنال. ص. xxxviiii.
- ↑ "إرشادات التصميم والتنفيذ لعملاء الويب من مايكروسوفت: الأنماط والممارسات" . مايكروسوفت. نوفمبر 2003.
- ↑ سيلز، كريس؛ واينهارت، مايكل (16 مايو 2006). "الملحق ب". الانتقال من MFC، برمجة Windows Forms 2.0 ( الطبعة الثانية). أديسون-ويسلي بروفيشنال.
- ↑ "مقدمة إلى نماذج ويندوز" (وثائق فيجوال ستوديو 2003). مايكروسوفت 2003.
- ↑ مارتن، جيف (4 ديسمبر 2018). "مايكروسوفت تفتح مصادر WPF وWinForms وWinUI" . InfoQ . تم الاطلاع عليه بتاريخ 6 ديسمبر 2018 .
- ↑ هانسيلمان، سكوت (4 ديسمبر 2018). "الإعلان عن تحويل WPF وWinForms وWinUI إلى برامج مفتوحة المصدر" . تم الاطلاع عليه بتاريخ 6 ديسمبر 2018 .
- ↑ دي سميت، بارت (4 يناير 2011). "الفصل 5". C# 4.0 Unleashed . دار نشر سامز.
- ↑ غريفيث، إيان؛ آدامز، ماثيو (مارس 2003). NET Windows Forms باختصار . دار نشر أورايلي ميديا. ص 4.
- 1 2 غريفيث، إيان؛ آدامز، ماثيو (مارس 2003). نماذج ويندوز NET باختصار . دار نشر أورايلي ميديا. الصفحات 27-53 .
- ١ ٢ ٣ "الأسئلة الشائعة: Winforms" . mono-project.com.
من غير المرجح أن يُنفذ التطبيق كل ما هو مطلوب للتوافق الكامل مع Windows.Forms. والسبب هو أن Windows.Forms ليس مجموعة أدوات كاملة، وللتغلب على هذه المشكلة، يتم إتاحة بعض أساسيات Win32 للمبرمج من خلال عرض معالج رسائل Windows.
- ↑ سيلز، كريس؛ واينهارت، مايكل (16 مايو 2006). "الملحق أ. ما الجديد في ويندوز فورمز 2.0". برمجة ويندوز فورمز 2.0 ( الطبعة الثانية). أديسون-ويسلي بروفيشنال.
- ↑ نويز، برايان (12 يناير 2006). "مقدمة". ربط البيانات باستخدام Windows Forms 2.0: برمجة تطبيقات بيانات العميل الذكي باستخدام .NET ( الطبعة الأولى). أديسون-ويسلي بروفيشنال. ISBN 978-81-317-4823-7.
- ↑ هول، غاري (27 ديسمبر 2010). "DirectX، وليس GDI+". Pro WPF وSilverlight MVVM: تطوير تطبيقات فعال باستخدام النموذج ( طبعة 2010). Apress. ص 2.
- ↑ سميث، جوش (5 سبتمبر 2007). "WPF مقابل Windows Forms" . جوش سميث يتحدث عن WPF . تم الاطلاع عليه بتاريخ 25 أغسطس 2011.
لا يُقصد بـ WPF أن يحل محل Windows Forms. [...] لا يزال Windows Forms قائمًا وبقوة، وستواصل مايكروسوفت تطويره ودعمه لسنوات قادمة. WPF ببساطة أداة أخرى يمكن لمطوري تطبيقات سطح المكتب لنظام Windows استخدامها عند الحاجة.
- ↑ "أسئلة وأجوبة حول WPF" . infoq.com. 2014-04-03 . تم الاطلاع عليه بتاريخ 2014-04-21 .
لا يزال دعم Windows Forms قائمًا، ولكنه في وضع الصيانة. سيتم إصلاح الأخطاء فور اكتشافها، ولكن إضافة وظائف جديدة غير واردة.
- ↑ ألين، جوناثان (2014-05-06). "تحسينات دقة العرض العالية لنماذج ويندوز في .NET 4.5.2" . InfoQ . تم الاطلاع عليه بتاريخ 2015-02-10 .
- ↑ "WinForms" . mono-project.com . تاريخ الاسترجاع: 30 يوليو 2011.
اكتمل دعم Windows Forms 2.0. في هذه المرحلة، نركز بشكل أساسي على إصلاح الأخطاء وتحسين الكود.
- ↑ "WinForms" . mono-project.com . تم الاطلاع عليه بتاريخ 30 يوليو 2011.
هل يعمل WinForms على نظام macOS؟ نعم، بدءًا من Mono 1.9، يحتوي WinForms على برنامج تشغيل أصلي لنظام macOS يستخدمه افتراضيًا.
- ↑ دي إيكازا، ميغيل (2011-03-07). "GDC 2011" . تم الاطلاع عليه بتاريخ 2011-07-30 .
بالنسبة للأدوات التي تعتمد بشكل أساسي على OpenGL/DirectX، استخدم Windows.Forms، مع الأخذ في الاعتبار أنه قد يلزم إجراء بعض الإصلاحات أو الحلول البديلة من جانبهم نظرًا لأن Windows.Forms الخاص بنا ليس قيد التطوير النشط.
- ↑ "Mono / libgdiplus · GitLab" . GitLab .
- ↑ "مقدمة إلى Mono على نظام macOS" . mono-project.com . تم الاطلاع عليه بتاريخ 12 نوفمبر 2019 .
- ↑ مارتن، جيس. "Windows.Forms يصل إلى نظام التشغيل Mac OS X ذو 64 بت" . تم الاسترجاع في 12 نوفمبر 2019 .
روابط خارجية
- مصطلحات .NET
- برنامج 2002
- برامج مملوكة سابقًا
- واجهات برمجة تطبيقات مايكروسوفت
- برامج مايكروسوفت المجانية
- مونو (برنامج)
- برنامج مرخص بموجب ترخيص MIT
- مجموعات أدوات الأدوات المصغّرة
- برنامج مجاني يعمل بنظام ويندوز فقط
