快速更新,我发现为什么代码不会工作,我想检查的所有文本框都在groupboxes,那就是问题,如果我删除groupbox问题得到解决。 有没有办法解决这个问题?忽略隐藏的空文本框
找到解决方案。 下面发布以备将来参考。
再次感谢您的所有输入。
foreach (var textBox in Controls.OfType<GroupBox>().SelectMany(groupBox => groupBox.Controls.OfType<TextBox>()))
{
if (textBox is TextBox && textBox.Visible && string.IsNullOrEmpty(textBox.Text))
{
MessageBox.Show($"Missing {textBox.Name} value!");
Focus();
return;
}
}
我相信你正在寻找'如果(larg.Visible ==真)'**注意非资本化的旋布尔值**。我不确定隐藏是textBoxes的一个属性,如果它是那么你的行应该读取'if(larg.Hidden == false)'问题是一个布尔值不能被大写,因为这不是值 - 更容易帮助如果你告诉我们错误 –
我是否正确地得到你 - 你的代码工作,但你只是得到和错误* if(larg.Hidden == False)* codeline?你得到一个编译错误?我想你会得到一个运行时错误。 这是wpf还是winforms?你把它称为“form”,所以我猜它是winforms,对吧? – TripleEEE
@Alfie Goodacre代码有效,但现在我点击下一步,没有任何反应。 – MarcIT