Вы можете получить координаты курсора, используя Cursor.Position
, это даст вам экранные координаты. затем вы можете передать их в PointToClient(Point p)
Point screenCoords = Cursor.Position;
Point controlRelatedCoords = this.panel1.PointToClient(screenCoords);
Хотя я вполне уверен, что DragEventArgs.X
и DragEventArgs.Y
уже являются экранными координатами. Ваша проблема, вероятно, заключается в
if (e.X < 429 && e.X > 0 && e.Y<430 && e.Y>0)
Похоже, это будет проверка по координатам панели, тогда как e.X
и e.Y
- это координаты экрана в этой точке. Вместо этого перед тем, как проверять границы, передайте его в координаты панели:
Point screenCoords = Cursor.Position;
Point controlRelatedCoords = this.panel1.PointToClient(screenCoords);
if (controlRelatedCoords.X < 429 && controlRelatedCoords.X > 0 &&
controlRelatedCoords.Y < 430 && controlRelatedCoords.Y > 0)
{
}