C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■87308 / 親階層)  パネルとスプリッターを使った時の処理方法について
□投稿者/ 夜叉丸 (101回)-(2018/05/09(Wed) 18:27:21)

分類:[.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が消えたりします。
壊れないようにするにはどうすればよいのでしょうか?
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: パネルとスプリッターを使った時の処理方法について /WebSurfer
→Re[1]: パネルとスプリッターを使った時の処理方法について /猫まっしぐら
 
上記関連ツリー

パネルとスプリッターを使った時の処理方法について / 夜叉丸 (18/05/09(Wed) 18:27) #87308 ←Now
Re[1]: パネルとスプリッターを使った時の処理方法について / WebSurfer (18/05/09(Wed) 18:48) #87309
│└ Re[2]: パネルとスプリッターを使った時の処理方法について / 夜叉丸 (18/05/09(Wed) 18:53) #87310
Re[1]: パネルとスプリッターを使った時の処理方法について / 猫まっしぐら (18/05/09(Wed) 20:52) #87311
  └ Re[2]: パネルとスプリッターを使った時の処理方法 / 夜叉丸 (18/05/10(Thu) 08:08) #87312
    └ Re[3]: パネルとスプリッターを使った時の処理方法 / にゃるら (18/05/10(Thu) 09:39) #87314
      └ Re[4]: パネルとスプリッターを使った時の処理方法 / 夜叉丸 (18/05/10(Thu) 12:31) #87316
        ├ Re[5]: パネルとスプリッターを使った時の処理方法 / 猫まっしぐら (18/05/10(Thu) 13:14) #87319
        └ Re[5]: パネルとスプリッターを使った時の処理方法 / 魔界の仮面弁士 (18/05/10(Thu) 17:24) #87323
          ├ Re[6]: パネルとスプリッターを使った時の処理方法 / 夜叉丸 (18/05/10(Thu) 18:39) #87325
          │└ Re[7]: パネルとスプリッターを使った時の処理方法 / 魔界の仮面弁士 (18/05/15(Tue) 11:40) #87359
          │  └ Re[8]: パネルとスプリッターを使った時の処理方法 / 夜叉丸 (18/05/15(Tue) 12:12) #87360 解決済み
          └ Re[6]: パネルとスプリッターを使った時の処理方法 / にゃるら (18/05/10(Thu) 18:10) #87324

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信