限制检查c#中的CheckBox

avi*_*irk 3 .net c# checkbox winforms

我做了一个胜利表格并给出了一些复选框,显示了学生可以使用的课程,并通过勾选复选框,他将能够告诉他想要做哪些课程,但我想在他检查三门课程时如果他尝试再次尝试要检查第四个复选框,然后应该出现消息框告诉他他不能选择三个以上,并且不应该检查第四个复选框.那我该怎么办呢?

Bit*_*KFu 5

您必须实现OnCheckedChange处理程序并将其设置为每个复选框.这会根据复选框的状态增加/减少计数器.

    private int checkCounter;

    private void OnCheckedChanged(object sender, EventArgs e)
    {
        // Increase or decrease the check counter
        CheckBox box = (CheckBox) sender;
        if (box.Checked)
            checkCounter++;
        else
            checkCounter--;

        // prevent checking
        if (checkCounter == 4)
        {
            MessageBox.Show("YOU ARE EVIL", "Bad");
            box.Checked = false;
        }

    }
Run Code Online (Sandbox Code Playgroud)

如果达到计数,则可以输出消息框并重置复选框.就这样.

并且不要忘记将此checkhandler应用于复选框的所有CheckedChange事件.