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

わんくま同盟

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

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

■87359 / 7階層)  パネルとスプリッターを使った時の処理方法
□投稿者/ 魔界の仮面弁士 (1665回)-(2018/05/15(Tue) 11:40:37)
No87325 (夜叉丸 さん) に返信
> 新規のフォームサイズを(526,339) で作成します。
> 同時に MinimumSize = (526, 339) にします。
今回は Padding を調整していない(ゼロのまま)のですね?

当方環境だと、高さを 338 にしないと、内側の高さが 300 になりませんでしたが、
今回は気にしないでおきます。(タイトルバーや枠線の高さは環境依存ですし)


> フォントはデフォルトの [MSUIGothic, 13pt] を使ってます。
日本語環境での既定のフォントは、
[MS UI Gothic, 9pt]
だと思いますよ。

また、Form の AutoScaleMode が None 以外の場合、
実行時のサイズが、デザイン時とは異なるサイズに
自動調整される可能性があります。


> パネル(panel1)を貼り付け サイズを(200, 300)で、Dock = Right にします。
> スプリッター(splitter1)を貼り付け サイズを(10, 300)で、Dock = Right にします。
> パネル(panel1)を貼り付け サイズを(200, 300)で、Dock = Fill にします。
どちらも panel1 とかかれていますが、順番からすると、後者が panel2 ですよね。
だとすると
> すると以下のようになります。
とはならないハズ。左右が逆になっているのでは無いでしょうか。


> わかりやすく Panel1 の上に ListBox1 を、
> Panel2 の上に ListBox2 を貼り付けて、どちらも DOCK=Fillにしました。
IntegralHeight は True のままでしょうか。それとも False でしょうか。
True の場合、ListBox の高さは項目の倍数単位に設定されるため、
フォームサイズによっては、下部に余白が生まれる可能性があります。


> スプリッターの移動だけなら問題なく動きます。
> ところが、フォームを広げ、panel2 の横幅を広げた状態にして
>  form (526,339) →(1500,339)
>  panel1 (200,300) →(1000,300)
>  panel2 (526,339) →(474,300)
上記のリサイズは、デザイン時に行ったということでしょうか。

座標的には、panel1 の方が幅が広く設定されていますが、
図では右側 (Panel2) の方が広く描かれていますね。
やはり、罫線描画された図の左右が逆になっているようです。


> グレー(Control色)の部分が表示される。
とりあえず対処療法として、
 private void Form1_ResizeEnd(object sender, EventArgs e)
 {
  PerformLayout();
 }
あたりを仕込んでおくと、多少はマシになるかもしれません。



> フォームの右端をドラッグしてフォームのサイズを素早く小さく
> (フォームの右端をドラッグしたままマウスを左にすばやく移動)します。
> ゆっくり動かすとならない、またはなりにくいです。

幾らやっても再現させられなかったので、マウスの分解能スイッチと、
コントロールパネルのポインター速度設定の両方を変更したところ
こちらの環境でも再現させることができました。

(1) ポインター速度:最速、マウス分解能:2000 ※こうすると再現しやすかった
(2) ポインター速度:最速、マウス分解能:1000
(3) ポインター速度:最速、マウス分解能:200
(4) ポインター速度:中間、マウス分解能:2000
(5) ポインター速度:中間、マウス分解能:1000 ※私は普段これで利用
(6) ポインター速度:中間、マウス分解能:200
(7) ポインター速度:最遅、マウス分解能:2000
(8) ポインター速度:最遅、マウス分解能:1000
(9) ポインター速度:最遅、マウス分解能:200
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[6]: パネルとスプリッターを使った時の処理方法 /夜叉丸 →Re[8]: パネルとスプリッターを使った時の処理方法 /夜叉丸
 
上記関連ツリー

パネルとスプリッターを使った時の処理方法について / 夜叉丸 (18/05/09(Wed) 18:27) #87308
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
          │└ パネルとスプリッターを使った時の処理方法 / 魔界の仮面弁士 (18/05/15(Tue) 11:40) #87359 ←Now
          │  └ Re[8]: パネルとスプリッターを使った時の処理方法 / 夜叉丸 (18/05/15(Tue) 12:12) #87360 解決済み
          └ Re[6]: パネルとスプリッターを使った時の処理方法 / にゃるら (18/05/10(Thu) 18:10) #87324

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