Form f1 = new Form();
f1.showDialog(this);
if (f1.DialogResult == DialogResult.OK)
{
Form2 f2 = new Form2();
f2.ShowDialog(this)
}
代码是类似这样,通过键盘回车触发f1选择,返回结果,但是这个回车事件会带到f2中,结果触发了f2的提交事件。f2中是默认文本框的KeyUp事件提交,现在结果是f1的keyup事件被传递过去了。
表示不理解。
模式窗体只有最顶层的才能操作。
详细解释一下,f1打开后,窗体就2个按钮,用回车选择,带回数据到父窗体,父窗体根据带回的值弹出f2,在f2里面默认一个文本框获得焦点,在文本框的keyup事件中有业务处理。如果f1中在按钮的click事件中做处理,那么键盘的keyup事件就会当在f2打开之后才做处理,而f2因为有文本框事件,直接就执行了,我是想怎么把个字的事件保持在当前窗口有效就行了,不要带到别的窗口去。