非常奇怪的问题!!!
问题如下:
MDI中包含两Form Child(Form1和Form2)。Form1包含一文本框,一按钮。从MDI主菜单启动Form1单击按钮执行其Click事件(对数据库执行一条查询语句);然后再从MDI主菜单启动Form2,而后回到Form1进入其文本框回车,此时应执行其KeyDown事件(其中if(e.KeyCode == Keys.Return) {...}),但此时总会执行其按钮的Click事件,每次都这样,这是怎么回事?
高手执教……十分感谢!
问题点数:100、回复次数:16Top
1 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2005-02-07 11:39:58 得分 0
upTop
2 楼xiongchen(二氧化鬼)回复于 2005-02-07 11:45:31 得分 0
把代码贴出来看看撒!Top
3 楼liulxmooo(娃娃)回复于 2005-02-07 11:45:37 得分 30
upTop
4 楼zmgcj(真的名贵)回复于 2005-02-07 11:49:18 得分 0
在VB6中,把按钮的Default属性设置为True,在窗体中任何地方按回车就会执行该按钮的Click。
但是在C#中没我没找到是哪个属性,可能就是这个原因。
你再找找看看,或者再放一个button,用后放的这个button试试。Top
5 楼binb0000(彬彬)回复于 2005-02-07 11:50:15 得分 0
代码很多不好贴,我只是简化的说了一下,单独打开Form1和关闭打开Form1后执行正常
重写了ProcessCmdKey,但注释掉也不起作用,应该和那个没关系,快疯掉了……Top
6 楼binb0000(彬彬)回复于 2005-02-07 11:53:13 得分 0
我当然没设置AcceptButton,就是一切正常,出现这种情况才奇怪。
刚才忘了说我用的文本框和按钮都是DevExpress的。Top
7 楼xiongchen(二氧化鬼)回复于 2005-02-07 13:00:01 得分 30
刚才用Winform的自带控件试了一下,没有出现楼主所说的问题, 是不是楼主因为用了DevExpress的呢?Top
8 楼doubon(DB.NET)回复于 2005-02-07 13:06:29 得分 0
UPTop
9 楼takki()回复于 2005-02-07 13:26:34 得分 0
upTop
10 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2005-02-07 15:12:20 得分 0
upTop
11 楼ipqn(i.Posei)回复于 2005-02-07 15:29:59 得分 0
"在VB6中,把按钮的Default属性设置为True,在窗体中任何地方按回车就会执行该按钮的Click。"
顺便问问,C#里有这样的属性吗?Top
12 楼fds2003(Hunter)回复于 2005-02-07 15:57:40 得分 0
把代码贴出来就知道了!Top
13 楼binb0000(彬彬)回复于 2005-02-07 16:15:16 得分 0
这问题简单说来就是在切换过一次两Form(焦点顺序,Form1->Form1.button1.Click()->Form2->Form1.text1.KeyDown())后,焦点在文本框上,回车执行应该执行KeyDown(),但执行的是button的Click事件
Top
14 楼nga96(因为我笨,所以努力。陈勇华)回复于 2005-02-12 11:14:29 得分 30
调试看看Top
15 楼binb0000(彬彬)回复于 2005-02-16 11:30:59 得分 0
up一下再Top
16 楼AllenTing(今天你GC了吗???)回复于 2005-02-16 12:15:19 得分 10
upTop




