任意の解像度で画面の中心を見つける方法は?
プログラムを画面の中央 -10 (y 軸) に表示したい。
(私のプログラムは最大サイズではありません)
WinForm で C# を使用しています。
StartPosition
メインのWinFormのプロパティをに設定できますCenterScreen
。次に、この画面の中心に対して別の位置に表示したい場合は、Top
およびLeft
プロパティを試して、必要なピクセル数を加算または減算できます。
ただし、@ DarinDimitrovの提案に従います...画面の境界を知る必要がある場合:
System.Windows.Forms.Screen.PrimaryScreen.Bounds
または、タスク バーを考慮して:
System.Windows.Forms.Screen.PrimaryScreen.WorkingArea
...またはいくつかのバリアント
これはあなたを助けるかもしれません
private void center_Load(object sender, System.EventArgs e)
{
// Position the Form on The screen taking in account
the resolution
//
Rectangle screenRect = Screen.GetBounds(Bounds);
// get the Screen Boundy
ClientSize = new Size((int)(screenRect.Width/2),
(int)(screenRect.Height/2)); // set the size of the form
Location = new
Point(screenRect.Width/2-ClientSize.Width/2,
screenRect.Height/2-ClientSize.Height/2); // Center the Location of
the form.
}
これを試して:
new Point((this.Width + this.Location.X) / 2 - popupControlContainer1.Width / 2,
(this.Height + this.Location.Y) / 2 - popupControlContainer1.Height / 2)
それが役に立てば幸い