| 分類:[.NET 全般]
2018/05/09(Wed) 18:54:28 編集(投稿者)
フォームにパネル2つとスプリッター2を1つ置きます。
フォームサイズを(546, 359)にして Padding を All=10 にすると ClientSize が(510, 300)になったので、 panel1 を Size=(200, 300), Dock = Right splitter1 を Size=(10, 300), Dock = Right panel2 を を Size=(300, 300), Dock = Fill で追加しました。
この状態で、フォームのサイズやスプリッターを移動しても panel1の幅200、panel2の幅300をキープしたかったので、 以下のようにイベントを追加しました。
private void panel1_Resize(object sender, EventArgs e) { if (panel1.Width < 200) panel1.Width = 200; }
private void panel2_Resize(object sender, EventArgs e) { if (panel2.Width < 300) panel1.Width = this.ClientSize.Width - 300 - splitter1.Width; }
フォームを大きくして、panel1の幅をSplitter1を使って広げた後、 フォームの右端をドラッグしたままフォームの幅を狭くすると パネルの表示が壊れたり、Splitter1が消えたりします。 壊れないようにするにはどうすればよいのでしょうか? |