2013-09-26 61 views
0

我有2個單選按鈕,它們可以生成兩種不同顏色的矩形,簡單地說,當用戶選擇單選按鈕時,它應該生成一個紅色矩形,並且如果用戶選擇單選按鈕二它應該創建一個藍色的矩形。單選按鈕選擇和取消選中

我的問題是選擇單選按鈕之一(矩形創建)後,如果用戶選擇單選按鈕2它創建另一個紅色的矩形,然後一個藍色的矩形(這是正確的),但問題是當用戶選擇2它不應該創建另一個紅色矩形。 我想有一個取消選中的問題,但我找不到合適的解決方案。 這裏是我的單選按鈕來完成: -

private void rbOne_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbOne.Checked) 
     { 
      status = rbOne.Text; 
      buff.write(Color.Red, status); 
     } 
    } 

    private void rbTwo_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbTwo.Checked) 
     { 
      status = rbTwo.Text; 
      buff.write(Color.Blue, status); 
     } 
    } 

什麼,似乎這裏是什麼問題?

謝謝你的時間。

回答

1

您必須檢查單選按鈕檢查更改事件中的單選按鈕選擇,並且需要首先取消選中另一個。看看這裏

private void rbOne_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbTwo.Checked) 
     { 
     // make it uncheck and remove the red rectangle 
     } 
     { 
     if (rbOne.Checked) 
     { 
      status = rbOne.Text; 
      buff.write(Color.Red, status); 
     } 
    } 

private void rbTwo_CheckedChanged(object sender, EventArgs e) 
{ 
    if (rbOne.Checked) 
    { 
    // make it uncheck and remove the blue rectangle 
    } 
    if (rbTwo.Checked) 
    { 
     status = rbTwo.Text; 
     buff.write(Color.Blue, status); 
    } 
} 

或者你可以先檢查單選按鈕檢查屬性,如果每一個檢查一個,然後不創建另一個矩形。