gpt4 book ai didi

c# - 清除所有文本框但忽略 DomainUpDown

转载 作者:行者123 更新时间:2023-11-30 17:03:10 25 4
gpt4 key购买 nike

我正在使用以下代码清除我表单上的所有文本框

 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);

您描述的行为的原因如下:DomainUpDownControl 属性包含 - 以及其他内容 - 一个 TextBox,因此您可能明确希望将其排除在与其他控件相同的处理方式之外;)

否则,您将像 Panel 或类似的东西一样对其进行递归,因此清除其文本!

关于c# - 清除所有文本框但忽略 DomainUpDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18912788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com