一切福田,不離方寸,從心而覓,感無不通。

C#指定窗口显示位置的方法

在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置:

MainForm mainForm = new MainForm();

mainForm.StartPosition = FormStartPosition.CenterScreen;
mainForm.Show();
如果在允许操作主窗口之前,必须先登录,则弹出登录窗口。此时主窗口出现在登录窗口后面,无法进行操作。

MainForm mainForm = new MainForm();

LoginForm dlg=new LoginForm();

dlg.ShowDialog();

这里ShowDialog方法表示你必须先操作完dlg窗口,才能操作后面的主窗体。

如果要登录窗口显示在主窗口的中心,则在显示之前设置如下

dlg.StartPosition = FormStartPosition.CenterParent;

dlg.ShowDialog();

能够这样做的前提是主窗体必须先定义和显示。否则登录窗体可能无法找到父窗体。

除此之外,也可以手动设置窗口显示的位置,即窗口坐标。

首先必须把窗体的显示位置设置为手动。

dlg.StartPosition=FormStartPosition.Manual;

随后获取屏幕的分辨率,也就是显示器屏幕的大小。

int xWidth = SystemInformation.PrimaryMonitorSize.Width;//获取显示器屏幕宽度

int yHeight = SystemInformation.PrimaryMonitorSize.Height;//高度

然后定义窗口位置,以主窗体为例

mainForm.Location = new Point(xWidth/2, yHeight/2);//这里需要再减去窗体本身的宽度和高度的一半

mainForm.Show();

这样三步之后,一个准确定位在屏幕位置上的窗体就显示出来了。

用Point类时,必须先把它包含进来,在程序最前面写上:

using System.Drawing;