C # كيف يمكنني التحقق لمعرفة ما إذا كان يتم التحقق من مربع على شكل آخر؟
سؤال
وأنا باستخدام C # وأود أن تحقق لمعرفة ما إذا كان يتم فحص مربع اختيار في النموذج الرئيسي وإذا كان الأمر كذلك تشغيل بعض التعليمات البرمجية، والمشكلة هي أنا في ملف فئة (ملف مع أي شكل، غير ملف فئة الصحيح؟). ما هو أسهل طريقة للقيام بذلك؟
والشكر جيمي
المحلول
والخيار الأفضل هو إنشاء خاصية boolean
على النموذج الذي يعرض قيمة Checked
من CheckBox
.
public bool OptionSelected
{
get { return checkBox.Checked; }
set { checkBox.Checked = value; } // the set is optional
}
نصائح أخرى
وتحتاج إشارة إلى شكل، وشكل له لفضح مربع (أو الممتلكات التي يتشاور مربع).
وليس هناك فرق بين البرمجة UI والبرمجة غير UI في هذا الصدد. كيف تسأل عن الملكية Name
مثيل Person
من فئة مختلفة؟ كنت الحصول على مرجع إلى مثيل، وأسأل عن الملكية ذات الصلة.
وهكذا تحتاج بالتأكيد إشارة إلى النموذج، ثم انها واحدة من:
bool checked = form.IsAdultCheckbox.Checked;
bool checked = form.IsAdult;
و(أين الممتلكات IsAdult
سيعود someCheckbox.Checked
).
ويمكن أن تكون أسماء الملكية الفعلية الخطأ هنا (على سبيل المثال Checked
قد لا ترجع bool
)، ولكن آمل أن تحصل على هذه الفكرة.
ويمكنك تحديد واجهة مع خاصية، فقد شكل تنفيذ واجهة والعودة صحيح إذا تم تحديد خانة الاختيار، وتمرير مثيل من هذه الواجهة لصفك؟
وعلى سبيل المثال:
interface IMyFormFlag
{
bool IsChecked { get; }
}
public class MyForm : Form, IMyFormFlag
{
CheckBox chkMyFlag;
bool IsChecked { get { return chkMyFlag.Checked; } }
}
public class MyObject
{
public void DoSomethingImportant(IMyFormFlag formFlag)
{
if (formFlag.IsChecked)
{
// do something here
}
}
}
وشخصيا، أنا لا أحب استخدام مجموعة أو الحصول عليها. أنا فعلت هذا من هذا القبيل:
if (checkBox.IsChecked.Equals(true))
{
//insert code here
}
ويمكنك استخدام هذا أنه يعمل بشكل جيد بالنسبة لي
if (Convert.ToBoolean(CheckBox1.IsChecked))
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}