2009-12-22 72 views
0

我在表单上添加了一个组合框,并且已将焦点事件写为DroppedDown = True。 但是,当我点击组合框首先,gotfocus事件获取电话和项目列表弹出。但之后,由于鼠标事件,该列表再次弹出,所以我无法看到弹出列表。 如何解决这个问题?
在这种情况下,低级事件或全局钩子是否有帮助?关于Gotfocus和MouseClick事件

+1

读了两遍,我还是不明白你想要什么之后。所以如果是紧急的,拼出来。一些代码会有所帮助。 – 2009-12-22 12:39:09

+0

@亨克 http://www.issociate.de/board/goto/774872/ComboBox_DroppedDown.html 你会明白我的问题在这里... 这家伙有同样的问题.. – Kiran 2009-12-23 14:06:54

+1

我已经注意到这种行为在winform中, wpf,基本控制和第三方。如果下拉列表打开,则必须点击两次。这就像第一次点击就是将焦点重新设置成形式。因此,这可能是.net中的一个缺陷,但是您可能需要更多的工作或低级别的挂钩才能以您想要的方式完成此项工作。也许一些疯狂的代码在表单上点击,如果它被解雇了。 – 2009-12-23 17:22:19

回答

0

我建议你不要处理GotFocus事件。

0

试试这个

if (MouseButtons == MouseButtons.None) 
combobox.DroppedDown = true; 
+1

请解释这个答案 – Mazz 2017-10-16 08:58:19

+0

防止弹出下拉(combobox.DroppedDown = true;)当combobox通过点击获得焦点 – Sharif 2017-10-16 09:07:59