寻找控制文本字段中用户输入的方法。 即一个字段可以是double,一个字段字符串,一个字段int。 我可以用一个库来照顾这个吗?
使用:Vs 2008,C#,WPF
答案 0 :(得分:1)
int.TryParse()
更容易!!
答案 1 :(得分:0)
您可以尝试在文本框上使用正则表达式来约束/验证用户输入...
答案 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'。