在啟動一個程序時,我們希望窗口顯示的位置處於屏幕的正中心,可以如下設置:
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;