我有一个控件列表,List<Control>我希望能够检查他们的类型.因为我的列表只包含Controls,所以执行typeof()不会让我太过分,我想能够询问是否List<Control>[0]是Checkbox,TextBox,Label等.
我如何找到列表中具有哪种特定类型的控件?
您可以使用Object.GetType()方法:
var controls = new List<Control>();
// Add Controls
if(controls[0].GetType() == typeof(Checkbox))
{
// I'm a checkbox
}
else if (controls[0].GetType() == typeof(TextBox))
{
// I'm a TextBox
}
Run Code Online (Sandbox Code Playgroud)
...等等.
或者,如果您不介意也可能匹配您正在检查的控件的子项,则可以使用is运算符:
var controls = new List<Control>();
// Add Controls
if(controls[0] is Checkbox)
// I'm a Checkbox or a child of Checkbox
else if (controls[0] is TextBox)
// I'm a TextBox or a child of TextBox
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3707 次 |
| 最近记录: |