C# 关于Gotfocus和MouseClick事件

C# 关于Gotfocus和MouseClick事件,c#,wpf,focus,mouseevent,C#,Wpf,Focus,Mouseevent,我已经在表单上添加了一个组合框,并为此编写了Get focus事件,即DroppedDown=True。 但是,当我首先单击组合框时,会弹出gotfocus事件get call和项目列表。但在那之后,由于鼠标移动事件,列表再次弹出,所以我看不到弹出列表。 如何解决这个问题?? 在这种情况下,低级事件或全局钩子是否有帮助???我建议您不要处理GotFocus事件。试试这个 if (MouseButtons == MouseButtons.None) combobox.DroppedDown = t

我已经在表单上添加了一个组合框,并为此编写了Get focus事件,即DroppedDown=True。 但是,当我首先单击组合框时,会弹出gotfocus事件get call和项目列表。但在那之后,由于鼠标移动事件,列表再次弹出,所以我看不到弹出列表。 如何解决这个问题??

在这种情况下,低级事件或全局钩子是否有帮助???

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

试试这个

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

读了两遍之后,我还是没有得到你想要的\因此,如果是紧急情况,请详细说明。一点代码会有帮助。@Henk你会明白我的问题的。。。这家伙也有同样的问题。我注意到winform、wpf和基本控件以及第三方的这种行为。如果下拉列表打开,则必须单击两次。就像第一次点击是将焦点设置回表单。因此,这可能是.net中的一个缺陷,但您可能需要更多的工作或低级钩子才能按您想要的方式完成此工作。如果表单被触发,可能会有一些疯狂的代码点击。请解释这个答案,当combobox通过点击获得焦点时,阻止弹出下拉菜单(combobox.DroppedDown=true;)