文本框验证有问题

时间:2016-09-02 14:06:07

标签: c# .net winforms

我有一大组文本框,每个文本框都有相同的KeyPress(仅限数值)事件和验证事件(trimmedInput)。

我遇到的麻烦是,如果用户点击其中一个包含验证事件的文本框,则用户无法执行任何其他操作,包括关闭表单而不输入相应格式的文本。如果用户TabIndex跟随正确的条目,则用户再次卡在下一个框中并且无法退出,或者在没有先输入正确的格式然后单击文本框的情况下执行表单中的任何其他功能。以下是验证事件的代码片段:

double value;
var trimmedInput = tbGRS1A.Text.Trim();

if (trimmedInput.Length != 5 || trimmedInput.IndexOf('.') != 3
    || !double.TryParse(trimmedInput, out value))
{
    e.Cancel = true;
    MessageBox.Show("Temperature Format: 123.4");
    tbGRS1A.Text = "";
}

理想情况下,我想找到一种方法,如果用户遇到错误,并且他们单击确定,文本框将清除,用户可以自由地在文本框的焦点之外进行更改,甚至关闭表单。我尝试过一些不同的东西,似乎没什么用。

还尝试了FormClosing事件但没有成功......

0 个答案:

没有答案