2

我有一个基于 C# 的 WinForms 应用程序,其中有很多菜单,每个菜单都有多个用于用户输入的控件。所有表单都有 OK 按钮,可以处理用户给出的输入。

例如,当用户按下“确定”按钮时,我必须对所有这些控件进行验证.. 检查输入的字符串是否为数字、是否具有特定长度、是否存在等...

是否有任何可用的 C# 功能来执行此操作,而不是我必须为每个确定按钮编写完整的代码?

4

3 回答 3

0

您可以使用正则表达式进行验证,这是一个链接http://www.codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial

于 2012-09-26T11:33:02.057 回答
0

如果您不想在表单设计中输入此类代码,那么您始终可以制作自己的自定义控件,这些控件旨在以某种方式工作。

因此,例如,您可以创建一个从 TextBox 类继承的类,并且您可以覆盖此控件的事件以完全按照您的意愿执行操作。

制作您自己的控件,这些控件的设计也完全符合您的要求。这样做,您不需要在表单设计中验证输入,因为您设置了控件的行为,然后将控件放到表单上。

您将始终对用户输入进行一些验证,但您可以在表单事件中对其进行限制,这完全取决于您需要这些控件的自定义程度。

如果您希望控件限制某些键,例如 RichTextBox 中的“回车键”,或者您希望在粘贴剪贴板内容时处理剪贴板内容,则这种做法很好。您可以在课堂上而不是在您的表单中完成所有这些代码。

希望这可以帮助。

于 2012-09-26T11:38:28.097 回答
0

一种方法是调用ValidateValidateChildren从 OK 按钮单击事件处理程序。然后,您将为Validating每个要验证的控件提供一个事件处理程序。

请参阅有关用户输入验证的 MSDN 文章

于 2012-09-26T11:55:06.557 回答