使用复选框和if语句继续使用点

时间:2016-02-05 20:03:59

标签: c#

我正在使用visual studio上的Windows窗体创建一个C#测验。 问题是“健康的男女青少年学生每分钟的平均节拍是多少?” 然后可能的答案是四个复选框,用户必须选择两个答案。 当用户选择他们的答案时,会有一个按钮,并将其移动到下一个表单上。 在继续之前,如何使用IF语句验证用户是否已选择任意两个答案(不一定是正确答案)。 用户必须先选择两个答案才能继续前进,或者显示一个消息框以确保他们知道选择两个答案。在IF这个词之后,我正在努力填写括号。非常感谢!

private void btnNextQuestion_Click(object sender, EventArgs e)
    {
       if ()
        {
            MessageBox.Show("Please select two answers.");
        }
        else
        {
            this.Hide();
            frmQuestionFour frm = new frmQuestionFour();
            frm.Show(); 

1 个答案:

答案 0 :(得分:1)

你需要做这样的事情:

int count = 0;
if (chk1.Checked) count++;
if (chk2.Checked) count++;
if (chk3.Checked) count++;
if (chk4.Checked) count++;
if (count == 2)

如果您已将复选框引用放入集合中,则还可以使用Linq执行此操作:

if (checkboxes.Where(chk => chk.Checked).Count() == 2)

如果屏幕上的四个复选框是 only 复选框,您可以尝试这样做:

if (Controls.OfType<CheckBox>().Where(chk => chk.Checked).Count() == 2)