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

C# 控制用户对文本字段的输入,c#,wpf,visual-studio-2008,user-interface,C#,Wpf,Visual Studio 2008,User Interface,正在寻找一种在文本字段中控制用户输入的方法。 i、 一个字段可以是双精度的,一个字段字符串,一个字段int。 有图书馆可以帮我保管吗 使用:vs2008,C#,WPF您可以尝试在文本框中使用正则表达式来约束/验证用户输入 int.TryParse() 容易多了 可以使用textbox的Validate事件设置验证委托,以确保该框包含有效文本: textbox1.Validate += delegate(sender, eventArguments) {

正在寻找一种在文本字段中控制用户输入的方法。 i、 一个字段可以是双精度的,一个字段字符串,一个字段int。 有图书馆可以帮我保管吗


使用:vs2008,C#,WPF

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

int.TryParse()


容易多了

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

textbox1.Validate += delegate(sender, eventArguments)
                     {
                         double val;
                         if (!int.TryParse(textbox1.Text, out val)
                         {
                             eventArguments.Cancel = true;
                         }
                     }
但是,在相关控件失去焦点之前不会引发验证事件,这可能无法提供您所需的用户体验,即用户将能够键入无效值,并且直到他们尝试离开该控件时才会验证文本。如果确实要防止键入无效字符或值,则可能需要截获TextChanged事件并在每个步骤验证文本

如果您确实选择对TextChanged做出反应,那么请注意中间值可能无法解析为所需类型-例如,如果文本框被限制为日期,并且用户试图输入“26/11/2009”,则文本将在第一个字符后显示为“2”,该字符不是有效日期