【发布时间】:2016-12-04 20:56:13
【问题描述】:
使用 c# 6 windows 窗体,我想选择所有带有“txt”标签的文本框。 我已经确认其中有几个带有“txt”标签。然后,我想清除文本。但是下面的代码没有选择任何。
this.Controls.OfType<TextBox>()
.Where(textBox => textBox.Tag.ToString() == "txt").ToList()
.ForEach(textBox => textBox.Clear());
【问题讨论】:
-
也许它们不是
Form的直接子级,而您将它们放置在其他一些容器控件中。 - 还要注意可能的NullReferenceException这里textBox.Tag.ToString()。 -
this是什么类型的控件? -
我在 GroupBoxes -> foreach (var textBox in Controls.OfType
().Where(textBox => textBox.Tag?.ToString() == "txt ").SelectMany(groupBox => groupBox.Controls.OfType ())) { textBox.Clear(); } -
它们是文本框