表单上所有文本框的最大长度

时间:2017-07-16 09:41:12

标签: c# winforms maxlength

文本框输入值的最大长度可以从MaxLength属性中确定。但我们需要逐个为每个文本框执行此操作。

有没有办法为表单上的所有文本框设置一次MaxLength属性的值?

2 个答案:

答案 0 :(得分:1)

您可以在On_Loaded事件的代码中执行此操作。查询表单上的所有控件并设置MaxLength。您还可以使用具有预定义MaxLength的TextBox创建自定义控件,并使用它而不是标准TextBox。

How to get ALL child controls of a Windows Forms form of a specific type (Button/Textbox)?

答案 1 :(得分:0)

是否使用递归调用,因为Form的面板和文本框都在面板内。

以下是获取表单上所有TextBox的扩展方法:

public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
       {
           var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
           return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children);
       }