簡體   English   中英

使用復選框和if語句繼續處理點

[英]Moving on with points using check boxes and if statement

我正在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(); 

您需要執行以下操作:

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)

而且,如果四個復選框是屏幕上唯一的復選框,則可以嘗試以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM