手動で、コード上で、ウィンドウを画面中央にするには、FormStartPosition.CenterScreenを指定する。
FormStartPosition 列挙型 (System.Windows.Forms) | Microsoft Docs
最初に、
![この状態だとOSの既定値になる](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173142.png)
この状態だとOSの既定値になる。
![だいたいこうなる](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173249.png)
だいたいこうなる。
![これダブルクリックでロード時にセットするようにする](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173440.png)
これダブルクリックでロード時にセットするようにする。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace FormStartPosition_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { StartPosition = FormStartPosition.CenterScreen; } } }
とすると、
![これじゃダメ](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173624.png)
これじゃダメ。
![これダブルクリックで初表示だとどうだろ](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173749.png)
これダブルクリックで初表示だとどうだろ。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace FormStartPosition_ { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { StartPosition = FormStartPosition.CenterScreen; } private void Form1_Shown(object sender, EventArgs e) { StartPosition = FormStartPosition.CenterScreen; } } }
とすると、
![これもダメ](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201173842.png)
これもダメ。
Form.cs内部じゃなくて、Program.csでやればいいのでは。
これで、
![中央にきた](https://cdn-ak.f.st-hatena.com/images/fotolife/B/BG1/20211201/20211201174117.png)
中央にきた。
作ってからじゃ遅いか。