我正在使用c#中的.NET CF框架,我想知道我是否可以像这样访问控件:
string field="txtName";
this.Controls[field];
或者这是不可能的?
答案 0 :(得分:2)
我认为你所采用的方法是FindControl
- 你会在Controls
集合的任何内容中找到该方法。
答案 1 :(得分:0)
我不明白为什么会出错,索引器需要string
,而你传递的是string
,所以对我来说这是正确的。
答案 2 :(得分:0)
可以通过名称(stirng)或索引(int)引用控件集合中的控件。您还需要做的唯一事情就是将控件转换为它所对应的类型。如下所示。
MyControl c(MyControl)this.Controls [“ControlName”];
享受!
答案 3 :(得分:0)
使用Linq怎么样?
var myControl = this.Controls.Cast<Control>().OfType<WhateverControlType>().FirstOrDefault(cont => cont.ID == "myControlId");
那样的东西?