在标签页中找到ListView控件

时间:2016-09-07 14:13:44

标签: c# winforms listview tabpage

我在标签页中有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
            }
        }     
    }
}

2 个答案:

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