我有一个名为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);
}
答案 0 :(得分:1)
你必须使用Control.MousePosition静态属性来解决这个问题,
获取鼠标光标在屏幕坐标中的位置。
将您的使用控制移至坐标后重新进行。请注意,这取决于您如何构建UI,您可能需要将坐标转换为客户端。为此可以使用 Control.PointToClient静态方法,其中:
计算指定屏幕点到客户端的位置 坐标。
答案 1 :(得分:1)
获取鼠标光标在屏幕坐标中的位置。