自定义控件重写OnMouseDown事件,不起作用
在写一个自定义控件时,重写了控件的OnMouseDown事件如下:
private Point mouseDownLocation{get;set;} private bool IfMouseDown=false; protected override void OnMouseDown(MouseEventArgs e) { if (e.Button==MouseButtons.Left) { mouseDownLocation=e.Location; IfMouseDown=true; } }
在调试的时候,发现鼠标在自定义控件范围内按下无反应,打断点也进不到OnMouseDown这个重写的方法内。
排查原因是自定义控件内我加了个Panel控件,还把Panel的Dock属性设置成了Fill。就是说自定义控件被这个panel控件覆盖了。我把这个Panel控件删掉之后就正常了。