控制用户对文本字段的输入

时间:2009-11-25 23:43:50

标签: c# wpf visual-studio-2008 user-interface

寻找控制文本字段中用户输入的方法。 即一个字段可以是double,一个字段字符串,一个字段int。 我可以用一个库来照顾这个吗?

使用:Vs 2008,C#,WPF

3 个答案:

答案 0 :(得分:1)

int.TryParse()

更容易!!

答案 1 :(得分:0)

您可以尝试在文本框上使用正则表达式来约束/验证用户输入...

http://msdn.microsoft.com/en-us/library/ms998267.aspx

答案 2 :(得分:0)

可以使用文本框的Validate事件来设置验证委托,以确保该框具有有效文本:

textbox1.Validate += delegate(sender, eventArguments)
                     {
                         double val;
                         if (!int.TryParse(textbox1.Text, out val)
                         {
                             eventArguments.Cancel = true;
                         }
                     }

但是,在相关控件失去焦点之前,不会引发Validate事件,这可能无法提供您所需的用户体验,即用户将能够键入无效值,直到他们尝试保留文本将被验证的控件。如果您确实希望阻止输入无效字符或值,则可能需要截取TextChanged事件并在每一步验证文本。

如果您确实选择对TextChanged作出反应,请注意中间值可能无法解析为所需类型 - 例如,如果文本框被约束为某个日期,并且用户正在尝试输入'26 / 11/2009 ',然后在第一个不是有效日期的字符后,文本将为'2'。