c# - 使用 C# 按类型和属性值筛选控件

标签 c# winforms

是否有有效的方法来按类型过滤 Panel 的子控件,例如Label 属性,例如标签值?

例如我有一个面板 1:

label1.Tag=1;
label2.Tag=1;
label3.Tag=2;
label4.Tag=3;
textBox1.Tag=1;
panel1.Add(controls above);

我想获取集合中的所有标签,或者所有带有Tag=1的控件,或者在语句之间使用and

最佳答案

您可以使用 OfType 扩展方法过滤特定类型的所有控件:

var labelControls = panel.Controls.OfType<Label>();

然后如果你想添加额外的过滤(例如基于标签):

var filteredLabelControls = labelControls.Where(l => l.Tag == (object)1);

关于c# - 使用 C# 按类型和属性值筛选控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316881/

相关文章:

c# - 程序打印到斑马打印机 ZPL?或替代品?

c# - WinForm 中的 DataGridView 自定义排序

c# - 使用 C# .net 应用程序访问事件目录中的不同域在本地计算机上有效,但在 IIS 服务器中托管时无效

c# - 监听NSTableView的事件防止选择和列拖动

c# - 面板双缓冲

c# - 如何从 WinForms 中的文本框移除焦点?

c# - 带有 Mysql 和 NullReferenceException 的 Entity Framework 6

c# - 存储一个非常大的字符串数组或字符串?

c# - winform如何避免两个面板对接重叠

c# - 互斥体未释放