程序报错日志:
因为是程序进行一定的操作才出现,一直找不到问题,最后才发现是Combobox 自定义控件的问题:控件未获得焦点时禁用鼠标滚轮事件是用的PreFilterMessage方法,
最后换了种实现方式:
protected override void WndProc(ref Message m) { if (m.Msg == 522) { Control currentontrol = null; currentontrol = Control.FromChildHandle(m.HWnd); bool findControlAndNotFocused = false; if (currentontrol != null) { while (currentontrol.Parent != null || currentontrol == this) { if (currentontrol == this) { if (!currentontrol.Focused) { findControlAndNotFocused = true; } break; } currentontrol = currentontrol.Parent; } } if (findControlAndNotFocused) { return; } else { base.WndProc(ref m); } } else { base.WndProc(ref m); } }
总结:
如若出现同样的问题,可以考虑看下自己程序的自定义控件。