为什么我的复选框值没有设置为true,虽然它被检查了?

时间:2016-07-01 02:06:30

标签: c# checkbox datagridview

我有一个代表列名称的复选框列表。用户需要选择他/她想要在datagridview中显示的列。标题中还有一个复选框,单击该复选框将设置将自动选中代表列名称的所有复选框。问题是条件if (cell.Value != null)cell.Value设置为false。因此消息框不会弹出。为什么会发生这种情况,我该如何解决它们。提前谢谢。

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            DataGridViewCheckBoxCell cell = row.Cells[0] as DataGridViewCheckBoxCell;
            if (cell.Value != null)
            {
                if (cell.Value == cell.TrueValue)
                {
                    MessageBox.Show("checked");
                }
            }
        }
    }

这是用户选中标题复选框时的代码。

    private void checkboxHeader_CheckedChanged(object sender, EventArgs e)
    {
        for (int i = 0; i < dataGridView1.RowCount; i++)
        {
            dataGridView1[0, i].Value = ((CheckBox)dataGridView1.Controls.Find("checkboxHeader", true)[0]).Checked;
        }
        dataGridView1.EndEdit();
    }

0 个答案:

没有答案