2010-07-16 42 views
0

我從代碼隱藏(通過Panel.Controls.Add()添加)創建一些複選框。 我的問題是:我如何修改值?通過ID查找控件並修改一些屬性

我已經嘗試創建控件,使用FindControl方法,它們改變了一些屬性,但沒有成功。

CheckBox c = new CheckBox(); 
c.FindControl("CheckBoxP"); 
c.Checked = true; 

任何想法?由於

+1

難道我們談論ASP.Net的名稱取代 'checkBox1' ? Winforms等等。向我們展示更多代碼,使用示例:) – 2010-07-16 11:08:17

回答

0

嘗試是這樣的(假設你使用Windows窗體):

foreach (Control c in this.Controls) 
    { 
     if (c.Name == "MyName" && c is CheckBox) 
     { 
      ((CheckBox)c).Checked = true; 
     } 
    } 
+0

這可能不起作用,導致CheckBox嵌套在另一個容器控件的更深處(例如TableLayoutPanel,SplitContainer等) – Oliver 2010-07-16 12:42:14

+0

是的,這是真的,它假定您知道您的目標控件位於哪個控件上。 – w69rdy 2010-07-16 13:04:01

1
CheckBox _C = (CheckBox)this.Controls.Find("checkBox1", true).FirstOrDefault(); 
    if (_C != null) 
    { 
     _C.Checked = true; 
    } 

與所需的控制