防止复选框被选中(而不是简单地取消选中)

Prevent a checkbox from being checked (not simply uncheck)

在某些情况下checkbox我有会显示错误。我正在尝试禁用 checkbox 除非满足某些条件。

我尝试了以下方法

    private void checkBox66_CheckedChanged(object sender, EventArgs e)
    {
        if (dataGridView3.RowCount == 0)
        {
            checkBox66.Checked = false;
        }
    }

但我意识到这会在实现任何类型的取消选中之前主动选中该框。我需要确保 checkbox 在行数为 0

时忽略对其的任何点击

Enabled 属性 设置为 false。无论 CheckBox 的值是选中还是未选中,用户都无法更改。您可以在设计器中的 CheckBox 属性或代码中执行此操作:

CheckBox1.Enabled = false;

如果我对你的问题的理解正确,你是想阻止 ever 复选框在 rowcount = 0 时被选中?

您可以将代码添加到数据网格视图的 RowsAdded 和 RowsRemoved 事件,enabling/disabling+根据行数取消选中复选框。

如果用户需要解释为什么复选框被禁用,您可以在复选框旁边放置一个标签。