ちょっとしたアプリを作ろうとしたのですが、コントロールの配置がうまくできません。
ウインドウを3分割し、左右テキストボックス、中央にこまごましたボタン類を配置したいと思っています。
左側テキストボックスA
中央パネル
右側テキストボックスB
という感じです。
ウインドウを大きくすることも可能にするため、Dockを設定したいと思っています。このとき、中央のパネルの大きさは変えずに、左右のテキストボックスの大きさを変えたいと思っています。
いろいろDockの設定を変えてみたのですが希望の動きはしませんでした。どうしても中央のパネルだけが大きくなってしまうのです。このような場合のDockの設定方法はどうすればいいのでしょうか?またDockの設定方法が学べるHPの紹介などありましたらそちらもよろしくお願いします。
ここのHPを見て少し勉強しました。
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard18.htm
結果、連動して大きさを変更したいコントロールが複数ある場合には
VBの機能を使用して実現することは無理なのかなーと思いました。
なので以下のようなコードを書き何とか実現しました…
とりあえず解決にしましたが、もうちょっといい方法あるよ
等という情報がありましたら追加で教えていただきたいと思います。
よろしくお願いします。
Private Sub FormMain_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
' 幅決め
Dim textBoxWidth As Integer
textBoxWidth = (Me.Width - PanelB.Width) / 2
TextBoxBefor.Width = textBoxWidth
TextBoxAfter.Width = textBoxWidth
' 位置決め
PanelB.Left = textBoxWidth
End Sub
ツイート | ![]() |