FormStartPosition.CenterScreen

手動で、コード上で、ウィンドウを画面中央にするには、FormStartPosition.CenterScreenを指定する。

FormStartPosition 列挙型 (System.Windows.Forms) | Microsoft Docs

最初に、

この状態だとOSの既定値になる
この状態だとOSの既定値になる

この状態だとOSの既定値になる。

だいたいこうなる
だいたいこうなる

だいたいこうなる。

これダブルクリックでロード時にセットするようにする
これダブルクリックでロード時にセットするようにする

これダブルクリックでロード時にセットするようにする。

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;
        }
    }
}

とすると、

これじゃダメ
これじゃダメ

これじゃダメ。

これダブルクリックで初表示だとどうだろ
これダブルクリックで初表示だとどうだろ

これダブルクリックで初表示だとどうだろ。

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;
        }
    }
}

とすると、

これもダメ
これもダメ

これもダメ。
Form.cs内部じゃなくて、Program.csでやればいいのでは。

これで、

中央にきた
中央にきた

中央にきた。
作ってからじゃ遅いか。

Sample/dotnet/FormStartPosition/CenterScreen/src/FormStartPosition_ at master · bg1bgst333/Sample · GitHub