フォームが読み込まれているときに、CreateGraphics()はグラフィックスオブジェクトを返すべきではありませんか?
つまり、Form1_Loadイベントで、たとえば次のように書くことができますか?
Graphics x;
private void Form1_Load(object sender, EventArgs e)
{
x = this.CreateGraphics();
}
そうでない場合は、なぜですか?
新しいフォームを作成すると、コンストラクターがフォームのすべてのオブジェクトを開始すると思いました。では、グラフィックオブジェクトも使用しないのはなぜですか?
form_loadで描画しようとすると、描画したものが表示されないためです。
主な理由は次のとおりです。ボードを備えたゲームを作成したいので、ユーザーが新しいゲームをクリックすると、最初にボードを開始して描画します。そして、onPaintイベントでは、ボードの現在の状態を描画したいだけです。そのため、ボードの初期状態はformLoadイベントで描画する必要があると思いました。