我想设置事件属性或改变鼠标光标悬停在一行时,由图形类创建。我可以为包含行面板设置此属性,但我希望只在鼠标位于行的顶部时更改鼠标光标。
euoag5mw1#
假设您的行位于一个名为myPanel的面板中,那么您需要以下方法:
private void MyPanel_MouseMove(object sender, MouseEventArgs e) { if (IsShapeContainingMouse(e.Location)) { Cursor = System.Windows.Forms.Cursors.Hand; } else { Cursor = System.Windows.Forms.Cursors.Default; } } private bool IsShapeContainingMouse(Point location) { Point shapeStartPosition = GetShapeStartPosition(); Point shapeEndPosition = GetShapeEndPosition(); return shapeStartPosition.X <= location.X && location.X <= shapeEndPosition.X && shapeStartPosition.Y <= location.Y && location.Y <= shapeEndPosition.Y; } }
您需要实现GetShapeStartPosition()和GetShapeStartPosition()两个方法来获取行的开始和结束。
GetShapeStartPosition()
1条答案
按热度按时间euoag5mw1#
假设您的行位于一个名为myPanel的面板中,那么您需要以下方法:
您需要实现
GetShapeStartPosition()
和GetShapeStartPosition()
两个方法来获取行的开始和结束。