我这是一个简单的.net2005下的window应用程序,我在一个按钮的事件上打开一个模式对话框,该对话框上有一个输入框和一个确定按钮(btn_OK, DialogResult属性为OK)。原来的情况是:我在输入框中输入值后,再点击确定按钮,该对话框会自动关闭,且该模式对话框的返回值(DialogResult)是OK.现在我在这个输入框的KeyPress中加了点判断,当按下的键的是回车键时,直接调用确定按钮的点击事件btn_OK_Click,传的参数用的是(sender,e),但是执行时该对话框没有自动关闭,但是通过调试,我知道它确实执行了确定按钮的点击事件。
后来我一想是不是KeyPress中的sender与btn_OK_Click中的sender不一样呢,于是我在KeyPress事件的调用代码中使用了btn_OK_Click(btn_OK, e),发现执行结果还是一样,也就是说对话框没有自动关闭。
想请教下,到底是怎么回事,我不太明白呀。
后来我一想是不是KeyPress中的sender与btn_OK_Click中的sender不一样呢,于是我在KeyPress事件的调用代码中使用了btn_OK_Click(btn_OK, e),发现执行结果还是一样,也就是说对话框没有自动关闭。
想请教下,到底是怎么回事,我不太明白呀。
{
button1_Click(this, e);
}试了一下。没问题。keypress键设置错了。
keyup比较好一些。
调用
btn_OK.PerformClick();