| ■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 |