这是一个非常琐碎的问题,但我似乎找不到解决方法。这很烦我,因为我觉得我应该知道答案,但是我要么在寻找错误的术语,要么在寻找错误的方法和属性。
我有一个从两个地方调用的配置对话框。
第一个是从表单上的按钮正常运行-正如您所期望的那样。
第二个来自系统托盘中notifyIcon的上下文菜单,但此处显示在屏幕的左上方。理想情况下,我希望它显示在主屏幕的中央,或者可能靠近系统托盘。
Location
,但是在调用dialog.ShowDialog()
时,它似乎被覆盖。 dialog.ShowDialog(IWin32Window)
重载,但这似乎不喜欢我将null
作为窗口句柄传递。 dialog.Show()
,但是(这是我可能会出错的地方)设置位置似乎没有给出一致的结果。 dialog.Parent
属性-当然会引发异常。 我只是知道,当我(希望)看到一些答案时,我将意识到答案是显而易见的,但此刻我完全陷入了困境。
感谢您的回答-我怀疑这很明显,但像往常一样,我总是陷入错误的路线。更烦人的是,我也使用了设计师的这个属性。
最佳答案
您可以将 Form.StartPosition
属性设置为FormStartPosition.Manual
,然后将 Form.Location
属性设置为所需的位置。当您调用ShowDialog
时,表单应显示在所需的位置。
MyForm frm = new MyForm();
frm.StartPosition = FormStartPosition.Manual;
frm.Location = new Point(10, 10);
frm.ShowDialog();
关于c# - 使用ShowDialog显示对话框时如何控制对话框的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/998675/