我有一个自定义控件(自定义ComboBox)。 当我按“箭头按钮”时,它可以正常工作并展开,如果我再次按它,它也会展开,但是如果它已经展开并且我在表单中任何地方点击 - 它会关闭,但是当我尝试打开它时 - 我必须按两次“箭头按钮”。 因此,我需要检测这个时刻,即当我在combobox之外单击时。
打开ComboBox的代码(在ButtonClick中调用)
private void OpenComboBox()
{
if (drop_flag)
{
...
popup.Show(this);
}
else
{
drop_flag = true;
}
}
关闭事件
private void popup_Closed(object sender, ToolStripDropDownClosedEventArgs e)
{
drop_flag = false;
}
所以,我想要类似这样的东西。
private ClickedOutsideControl()
{
dropflag = true;
}
if (!drop_flag) { /* show dropdown */ }
。 - Hans Passant