1

我有一个名为 TaskControl 和一个用于通过拖动usercontrol创建其他按钮的按钮。usercontrols我希望新的用户控件看起来与我的光标所在的坐标相同。下面是我的代码。它不想出现在那些坐标上,新的usercontrol出现在旧的后面。我的代码:

 private void button1_Click(object sender, EventArgs e)
    {


        Point localCoordinates = this.PointToClient(Cursor.Position);
        TaskControl t = new TaskControl();
        t.Location = new Point(Cursor.Position.X,Cursor.Position.Y);
        t.MouseDown += new MouseEventHandler(t_MouseDown);
        t.MouseMove += new MouseEventHandler(t_MouseMove);
        t.MouseUp += new MouseEventHandler(t_MouseUp);

        this.Controls.Add(t);
    } 
4

2 回答 2

1

您必须使用Control.MousePosition静态属性来解决这个问题,它

获取鼠标光标在屏幕坐标中的位置。

将您的使用控件移动到检索的坐标后。请注意,这取决于您如何构建 UI,您可能需要将坐标转换为客户端。为此可以使用 Control.PointToClient静态方法,其中:

将指定屏幕点的位置计算为客户端坐标。

于 2013-03-18T14:06:43.897 回答
1

看一看Control.MousePosition

获取鼠标光标在屏幕坐标中的位置。

于 2013-03-18T14:09:05.797 回答