实现点击Form区域内除ListBox以外的其他地方,实现ListBox的隐藏,包括UserControl范围内,也包括UserControl之外Form之内
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现点击Form区域内除ListBox以外的其他地方,实现ListBox的隐藏,包括UserControl范围内,也包括UserControl之外Form之内相关的知识,希望对你有一定的参考价值。
const int WM_PARENTNOTIFY = 0x210;
const int WM_LBUTTONDOWN = 0x201;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_LBUTTONDOWN || (m.Msg == WM_PARENTNOTIFY &&
(int)m.WParam == WM_LBUTTONDOWN))
{
if (tab.SelectedForm is Form)
{
Form form = tab.SelectedForm as Form;
var control = form.Controls.Find("combobox", true)[0];
if (control != null)
{
ComboboxEx combobox = control as ComboboxEx;
if (!combobox.ClientRectangle.Contains(combobox.PointToClient(Cursor.Position)))
{
combobox.HiddenListBox();
}
}
}
}
base.WndProc(ref m);
}
以上是关于实现点击Form区域内除ListBox以外的其他地方,实现ListBox的隐藏,包括UserControl范围内,也包括UserControl之外Form之内的主要内容,如果未能解决你的问题,请参考以下文章