.NET CF中的C#动态控件名称

时间:2010-05-17 14:37:20

标签: c# dynamic controls accessibility

我正在使用c#中的.NET CF框架,我想知道我是否可以像这样访问控件:

string field="txtName";
this.Controls[field];

或者这是不可能的?

4 个答案:

答案 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");

那样的东西?