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:对不起,我匆忙写下了答案<代码>位置是正确的属性。