我正在使用以下代码清除表单上的所有文本框
private void ClearTextBoxes()
{
Action<Control.ControlCollection> func = null;
func = (controls) =>
{
foreach (Control control in controls)
if (control is TextBox)
(control as TextBox).Clear();
else
func(control.Controls);
};
func(Controls);
}
但是,它也清除了一个DomainUpDown
,由于其文本字段为空,因此又发出警告,如何防止这种情况发生?
注意,DomainUpDown
是一个容器!
如果您想坚持使用大多数代码,请更改
else
func(control.Controls);
至
else if (!(control is DomainUpDown))
func(control.Controls);
您描述的行为的原因如下:DomainUpDown
的Control
属性包含-以及其他内容-a TextBox
,因此您可能明确希望将其排除在与其他控件相同的处理方式之外;)
否则,您将对其进行递归处理,就像它是aPanel
或类似的一样,因此也请清除其文本!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句