البرمجة

تكامل C# Enum مع RadioButtons في تصميم الواجهة

في محاولتك لتحقيق هذا الهدف، يمكنك استخدام التحقق من حالة الـ RadioButton ومن ثم استخدام قيم الـ Enum لتحديد الحالة المختارة. لديك Enum يسمى TypeTimer في الفئة Person.cs، ولديك RadioButton في الفئة Form.cs. سنقوم بربط هذه العناصر لضمان تحديد الحالة المطلوبة بناءً على الاختيار في واجهة المستخدم.

في Form.cs، يمكنك تحديد الحالة المختارة في الـ RadioButton وتمريرها كمعامل إلى مُنشئ الفئة Person. لديك ثلاثة حالات للتحقق منها: Unlimited، Countdown، وLimited.

csharp
private void button1_Click(object sender, EventArgs e) { TypeTimer selectedTimer; if (rbtnNormalTimer.Checked) { selectedTimer = TypeTimer.Unlimited; } else if (rbtnCountDown.Checked) { selectedTimer = TypeTimer.Countdown; } else if (rbtnLimited.Checked) { selectedTimer = TypeTimer.Limited; } else { // يمكنك تعيين قيمة افتراضية هنا أو إشعار بأنه لم يتم اختيار أي خيار return; } // الآن يمكنك إنشاء كائن Person باستخدام القيمة المحددة Person person = new Person(selectedTimer); }

ثم في فئة Person.cs، يمكنك تنفيذ التبديل الذي يتحقق من القيمة الممررة:

csharp
public class Person { public enum TypeTimer { Unlimited, Countdown, Limited } public Person(TypeTimer s1) { switch (s1) { case TypeTimer.Unlimited: // اكتب الكود هنا لحالة Unlimited break; case TypeTimer.Countdown: // اكتب الكود هنا لحالة Countdown break; case TypeTimer.Limited: // اكتب الكود هنا لحالة Limited break; default: // اكتب الكود هنا إذا كنت بحاجة إلى تنفيذ شيء آخر لم تتوقعه break; } } }

بهذه الطريقة، يمكنك تحديد الحالة المختارة في واجهة المستخدم واستخدامها لتكوين كائن Person بناءً على الحالة المختارة، ثم يتم تنفيذ الكود المناسب في التبديل داخل الفئة Person.

المزيد من المعلومات

بالتأكيد، سنوسع قليلاً في المعلومات لضمان فهم أفضل للموضوع.

في الشيفرة التي قمت بتقديمها، لديك Enum يسمى TypeTimer في فئة Person.cs. هذا Enum يمثل ثلاثة حالات مختلفة لنوع المؤقت: Unlimited، Countdown، و Limited. يمكنك تفسيرها على النحو التالي:

  1. Unlimited: يُمثل حالة مؤقت لا يحدد له نهاية زمنية، أي يستمر بشكل غير محدد.

  2. Countdown: يُمثل حالة مؤقت يبدأ بقيمة معينة ويقل تدريجياً حتى يصل إلى الصفر أو قيمة أخرى محددة.

  3. Limited: يُمثل حالة مؤقت يستمر لفترة زمنية محددة ثم يتوقف.

في الشيفرة، لديك كائن Person يستخدم Enum TypeTimer لتحديد نوع المؤقت الذي سيتم إنشاءه. عند النقر على الأزرار في واجهة المستخدم (rbtnNormalTimer، rbtnCountDown، و rbtnLimited)، يتم تحديد الحالة المختارة باستخدام التحقق من حالة الـ RadioButton.

في حالة اختيار الـ RadioButton، يتم إنشاء كائن Person باستخدام Enum المناسبة، ومن ثم يتم تنفيذ الكود داخل التبديل (switch) في فئة Person وفقاً للحالة المحددة.

هذه الهيكلة تتيح لك تنظيم وترتيب الشيفرة بشكل فعّال وفهم مبدئي للتصميم. يمكنك البناء على هذا التصميم لإضافة المزيد من الوظائف أو التعديلات في المستقبل.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!