vb.net,我在表单中只有一个文本框,并且不会触发validate事件

时间:2013-07-30 14:05:17

标签: vb.net

我正在尝试创建一个文本框,您可以在其中输入页码,表单将会更改。我正在使用文本框允许用户输入页码,我希望在不再主动编辑文本框时更改表单,问题是文本框是表单中唯一可编辑的控件,因此它永远不会丢失焦点和验证事件永远不会激发。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

正如matzone所说,使用按键而不是页码键。

例如,假设您的用户想要转到页面“51”,则用户可以键入51并按返回键。

在返回键上触发事件

private void TextBox1_KeyDown(object sender, KeyEventArgs e)
{
//13 is the keycode for Return

    If (e.KeyCode == 13)
    {
    //SuperAweomseEventGoesHere
    }
}

答案 1 :(得分:0)

使用提到的按钮表示用户想要加载新页面。

使用验证事件确保用户输入了有效值。

可替换地:

如果您的页码都是两位数,您还可以使用TextChanged事件并继续检查文本值是否等于页码。至少有2位数是很重要的,因为1将加载页面,用户将无法加载10

另一种选择:

使用NumberUpDown控件或组合框,以限制用户使用正确的值