自定义控件重写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控件删掉之后就正常了。

posted @ 2022-03-01 16:15  follow_discoverer  阅读(281)  评论(0编辑  收藏  举报