2010-09-06 29 views

Trả lời

9

Có lẽ không phải là cách nhanh nhất, nhưng một cái gì đó như thế này nên làm việc:

private RadioButton GetSelectedRadioButton(string groupName) 
{ 
    return GetSelectedRadioButton(Controls, groupName); 
} 

private RadioButton GetSelectedRadioButton(ControlCollection controls, string groupName) 
{ 
    RadioButton retval = null; 

    if (controls != null) 
    { 
     foreach (Control control in controls) 
     { 
      if (control is RadioButton) 
      { 
       RadioButton radioButton = (RadioButton) control; 

       if (radioButton.GroupName == groupName && radioButton.Checked) 
       { 
        retval = radioButton; 
        break; 
       } 
      } 

      if (retval == null) 
      { 
       retval = GetSelectedRadioButton(control.Controls, groupName); 
      } 
     } 
    } 

    return retval; 
} 
0

Sử dụng thuộc tính "GroupName" để nhóm các nút radio thành một nhóm. Điều này sẽ giữ cho chúng hoạt động như một nhóm. Bạn sẽ vẫn cần phải truy vấn riêng chúng cho trạng thái đã chọn.

+0

Vâng, họ đang ở trong một nhóm. Tôi hy vọng sẽ tìm thấy một cái gì đó như GetSelectedRadioButton (groupName) – naveed

+0

Tôi không biết bất cứ điều gì như thế. Lựa chọn thay thế tốt nhất tiếp theo sẽ là có tất cả các hộp kiểm trong một nhóm nâng cao sự kiện được thay đổi tương tự. Trong trình xử lý sự kiện, tất cả những gì bạn phải làm là kiểm tra tên của điều khiển đã đưa ra sự kiện. –

Các vấn đề liên quan