我在标签页中有2个列表视图。但我正在寻找一个函数,通过名称找到正确的控件:
我有
foreach (Control c in form.Controls) // loop through form controls
{
if (c is TabControl)
{
TabControl f = (TabControl)c;
foreach (Control tab in f.Controls)
{
TabPage tabPage = (TabPage)tab;
foreach (Control control in tabPage.Controls)
{
MessageBox.Show(control.Name);
// code to go here
}
}
}
}
答案 0 :(得分:1)
Controls集合有一个Find函数,它返回一个数组:
Control[] ctrls = this.Controls.Find("listView1", true);
if (ctrls.Length == 1) {
MessageBox.Show("Found " + ctrls[0].Name);
}
答案 1 :(得分:0)
这将在指定控件的控件及其所有儿子中搜索具有指定名称的控件。
public Control findControlbyName(String name, Control parent){
foreach (Control ctr in parent.Controls)
{
if (ctr.Name.Equals(name)) return ctr;
else return findControlbyName(name, ctr);
}
return null;
}
你只需要这样做:
findControlbyName("NameOfTheListView",this);