在一个窗体上放一个MonthCalendar控件,实现点击窗体上任何一个位置就隐藏MonthCalendar控件,有位大神给了在下代码,可是发现有BUG...如果我的窗体上还有一个DataGridView,里面有一列是CheckBox,当我将这个CheckBox选中的时候在点击窗体的其他位置的时候,不仅这个MonthCalendar隐藏了,连这个CheckBox的选中状态也没了,如何解决?大神的代码如下:public bool PreFilterMessage(ref Message m)
    {
        if (monthCalendar1.Visible && m.HWnd != monthCalendar1.Handle ) 
        { 
            if (m.Msg >= 0x0201 && m.Msg <= 0x0209) 
            { 
                monthCalendar1.Visible = false;
            } 
        }
        return false;
    }