C#如何检查另一个表单上是否选中了复选框?

时间:2009-09-11 13:38:10

标签: c# checkbox

我正在使用C#,我想检查是否检查了主窗体上的复选框,如果是,运行一些代码,问题是我在一个类文件中(没有窗体的文件,是类文件正确吗?)。最简单的方法是什么?

由于 杰米

5 个答案:

答案 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"); 
       }