C# 强制选中复选框

C# 强制选中复选框,c#,checkbox,C#,Checkbox,我使用此代码,但它不起作用: private void checkcheck() { if (checkBox1.Text == "ON") { checkBox1.Checked = true; checkBox1.ForeColor = Color.DeepSkyBlue; } else { checkBox1.Checked = false; checkBox1.ForeColor =

我使用此代码,但它不起作用:

private void checkcheck()
{
    if (checkBox1.Text == "ON")
    {
        checkBox1.Checked = true;
        checkBox1.ForeColor = Color.DeepSkyBlue;
    }
    else
    {
        checkBox1.Checked = false;
        checkBox1.ForeColor = Color.Silver;
    }
}
我从表单加载事件调用此方法

    private void Form3_Load(object sender, EventArgs e)
    {
        cn.Open();
        SqlCommand cmd = new SqlCommand("SELECT * FROM contacts WHERE id = '" + label2.Text  + "' ", cn);
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.HasRows)
        {
            while (reader.Read())
            {
                textBox1.Text = reader[1].ToString();
                textBox2.Text = reader[2].ToString();
                textBox3.Text = reader[3].ToString();
                textBox4.Text = reader[4].ToString();
                checkBox1.Text = reader[5].ToString();
            }
        }
        cn.Close();
        checkcheck();
    }
就是这样,表单加载,然后复选框根据数据改变,然后它应该改变,
当我运行它时,它能很好地获取数据,并将复选框更改为开/关但不显示颜色或复选框,因为您的第一个条件始终为真,因此代码不会执行其他部分。

您是否尝试过调试,以查看它是否进入if checkBox1.Text==On您是否确定您的checkBox1.Text处于打开状态?您可能需要继续阅读,如果checkBox1.Checked,则我通常会以另一种方式执行{checkBox1.Text=ON;}或者设置。与.Text同时检查。是的,我无法从数据库中读取…等等,我将添加从数据中读取的代码。你不能假设第一个条件始终为真。你能准确地说你想在这里做什么吗?Bcz我创建一个表单并运行此代码,它正在工作:,当我手动更改文本时,程序将执行else部分。我将尝试像if=on-do-check和if=Off-do-nocheck这样的操作除了这个checkbox1之外还有多少其他的复选框?在这个函数调用之前,你是否尝试过用注释其他编码的代码。我需要首先:根据表中的数据,我已经输入了一些像on和Off这样的值我知道这是一种情况第二:我在一个复选框中检索所选项目。文本然后询问它是开还是关,以及它的行为是开还是关