C# 如何移动Winform对话框

C# 如何移动Winform对话框,c#,winforms,C#,Winforms,我的主窗体使用.ShowDialog启动另一个模式对话框。我想根据鼠标位置对其进行定位,但我尝试调用SetDesktopLocation无效。这是正确的方法吗 谢谢您可以在新表单的onLoad()方法中尝试: this.Location = new Point(paramX, paramY); 其中,paramX和paramY表示鼠标位置。另外,不要忘记模式对话在其他窗体上停止执行,直到它们关闭为止-因此您需要使用对话窗体本身进行定位,而不是在开场白中的后续行上,因为直到对话框关闭之后才会调用

我的主窗体使用
.ShowDialog
启动另一个模式对话框。我想根据鼠标位置对其进行定位,但我尝试调用
SetDesktopLocation
无效。这是正确的方法吗


谢谢

您可以在新表单的onLoad()方法中尝试:

this.Location = new Point(paramX, paramY);

其中,paramX和paramY表示鼠标位置。

另外,不要忘记模式对话在其他窗体上停止执行,直到它们关闭为止-因此您需要使用对话窗体本身进行定位,而不是在开场白中的后续行上,因为直到对话框关闭之后才会调用它们


另外,检查表单的起始位置是否设置为手动。为了在表单可见之前通过编程设置表单的位置,需要将
StartPosition
属性设置为
Manual
,然后将
Location
属性设置为所需位置

using(Form toShow = new YourForm())
{
    toShow.StartPosition = FormStartPosition.Manual;
    toShow.Location = MousePosition;

    toShow.ShowDialog();
}

我的表单没有位置属性,只有位置。但是起始位置是主要问题,所以我给你绿色tick@John:对不起,我匆忙写下了答案<代码>位置是正确的属性。