我正在使用C#,我想检查是否检查了主窗体上的复选框,如果是,运行一些代码,问题是我在一个类文件中(没有窗体的文件,是类文件正确吗?)。最简单的方法是什么?
由于 杰米
答案 0 :(得分:10)
最佳选择是在表单上创建boolean
属性,以显示Checked
的{{1}}值。
CheckBox
答案 1 :(得分:1)
您需要对表单的引用,并且表单必须公开复选框(或查询复选框的属性)。
在这方面,UI编程和非UI编程之间没有区别。如何从不同的类中请求Name
实例的Person
属性?您将获得对该实例的引用,并询问相关属性。
所以你肯定需要对表单的引用,然后它是以下之一:
bool checked = form.IsAdultCheckbox.Checked;
bool checked = form.IsAdult;
(IsAdult
属性将返回someCheckbox.Checked
。)
此处的实际属性名称可能有误(例如Checked
可能不会返回bool
)但我希望您明白这一点。
答案 2 :(得分:1)
您是否可以使用属性定义接口,使表单实现接口,如果选中该复选框则返回true,并将此接口的实例传递给您的类?
例如:
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
}
}
}
答案 3 :(得分:0)
就个人而言,我不喜欢使用set或get。我是这样做的:
if (checkBox.IsChecked.Equals(true))
{
//insert code here
}
答案 4 :(得分:0)
你可以使用它,它对我来说很好用
if (Convert.ToBoolean(CheckBox1.IsChecked))
{
MessageBox.Show("true");
}
else
{
MessageBox.Show("false");
}