在WinForms中找到包含特定文本的标签?

时间:2015-01-05 10:05:32

标签: c# .net winforms

在C#Windows窗体应用程序中,如何在包含我正在寻找的文本的表单上找到标签?

例如:我正在尝试搜索Text属性包含" 25"的标签。

1 个答案:

答案 0 :(得分:7)

你可以用这种方式找到它:

var control =  this.Controls.OfType<Control>().Where(x => x is Label && x.Text.Contains("25"));

或@Sayse建议只过滤Label类型:

var Labelcontrol =  this.Controls.OfType<Label>().Where(x => x.Text.Contains("25"));

说明:

如果我们想要获取表单的所有控件,我们必须这样做:

var AllControls = this.Controls.OfType<Control>();

如果我们只想获取类型Label的控件,那么:

var LabelControls = this.Controls.OfType<Label>();

此处this指的是当前的应用形式。

UPDATE:

如果您在嵌套控件中有标签,意味着在某个用户控件或其他控件中,那么您需要像this SO post (How to get ALL child controls of a Windows Forms form of a specific type)

那样以新手方式进行检查