2012-12-14 29 views
0

我想有一個表格在其中。 第一行將描述一個Scale。 在表格中的每個單元格中,都會有一個checkBox按鈕,這將有我的選擇。 (只有一個可以選擇(確認))如何實現一個表內的比例?

   **1**    **2**   **3** 
a)______________checkBoxbttn_____________________ checkBoxbttn____________________    V 

b)  ____________ checkBoxbttn___________________________  V  ___________________  checkBoxbttn 

每一行(驗證)的標誌只有一個複選框後,我需要保存每行的選擇參數,以備將來使用。 對於上面的例子:int a = 3; int b = 2;

我該如何實現? 驗證如何?

+0

你提的問題是過於寬泛。 –

回答

0

我建議你使用帶有一列和任意行數的TableLayoutPanel。在每個單元格中,放置一個Panel。在每個面板中,放置三個RadioButton控件,以確保只選擇其中的一個。

要知道選中哪個RadioButton,可以遍歷每個Panel的控件並返回第一個選中的對象。

例子:

private void button1_Click(object sender, EventArgs e) 
    { 
     foreach (var row in tableLayoutPanel1.Controls) 
     { 
      var panel = row as Panel; 
      if (panel == null) continue; 
      var checkedButton = 
       panel.Controls.OfType<RadioButton>() 
        .FirstOrDefault(r => r.Checked); 
      if (checkedButton == null) continue; 
      //Process your radiobutton here. 
     } 
    } 

爲了一個特定的值賦給一個單選按鈕,我會創建一個類從中獲取的,與代表你值的屬性。

例子:

class ScaleRadioButton : RadioButton 
{ 
    public int MyScale { get; set; } 
} 
相關問題