如何处理MouseClick事件中的CheckBox?

我有一个问题的人,我希望你帮助我..

我想将选定的数据行显示到我的文本框和复选框,并且我对CheckBox和错误有问题无法将类型字符串转换为布尔值

我保存到数据库后,我的复选框设置为true或false,因此它将显示在我的Datagridview中,只有True或False未选中,并且复选框是选项,如果它经历了这种情况...

private void dataGridView1_CellContentClick(对象发件人,DataGridViewCellEventArgs e)

    {
        foreach (Control control in this.Controls)
        {
            if (control is CheckBox)
                ((CheckBox)(control)).Checked = true;

        }

        foreach (Control control in this.Controls)
        {
            if (control is CheckBox)
                ((CheckBox)(control)).Checked = false;
        }
    }

并在我的鼠标点击事件

private void dataGridView1_MouseClick(object sender,MouseEventArgs e)

    {
        txtFam.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
        txtName.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
        txtSevereheadache.Checked =dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
        txtBlurringvision.Checked = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
        txtAbdominal.Checked = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
        txtSeverevomiting.Checked = dataGridView1.SelectedRows[0].Cells[5].Value.ToString();
        txtBreathingdifficulty.Checked = dataGridView1.SelectedRows[0].Cells[6].Value.ToString();
        txtConvulsion.Checked = dataGridView1.SelectedRows[0].Cells[7].Value.ToString();
        txtEdema.Checked = dataGridView1.SelectedRows[0].Cells[8].Value.ToString();
        txtVaricosities.Checked = dataGridView1.SelectedRows[0].Cells[9].Value.ToString();
        txtFeverchills.Checked = dataGridView1.SelectedRows[0].Cells[10].Value.ToString();
        txtPain.Checked = dataGridView1.SelectedRows[0].Cells[31].Value.ToString();

您正尝试将一个字符串值分配给一个布尔属性。 例如

txtSevereheadache.Checked = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();

首先使用调试并查看dataGridView1.SelectedRows[0].Cells[2].Value ,这可能足以让您将Valuebool 。 所以:

txtSevereheadache.Checked = (bool) dataGridView1.SelectedRows[0].Cells[2].Value;


如果由于某种原因dataGridView1.SelectedRows[0].Cells[2].Value不是bool类型,则应该使用Boolean.Parse方法将字符串解析为布尔值。 在MSDN上查看它。

所以,像这样:

txtSevereheadache.Checked = Boolean.Parse(dataGridView1.SelectedRows[0].Cells[2].Value.ToString());


对于Convert.ToBoolean(string)Boolean.Parse(string)之间的区别,请参阅此线程。

链接地址: http://www.djcxy.com/p/71165.html

上一篇: How to handle the CheckBox in MouseClick events?

下一篇: Export DataGridView to Excel File