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

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

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

Re[3]: Panel上のコントロールのサイズ変更に伴う位置変更


(過去ログ 99 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■59094 / inTopicNo.1)  Panel上のコントロールのサイズ変更に伴う位置変更
  
□投稿者/ マックス (1回)-(2011/05/12(Thu) 15:13:19)

分類:[VB.NET/VB2005 以降] 

こんにちは。
今、VB2008のWindowsアプリで、Panel上に縦に自作コントロールを複数並べているフォームを作成しています。
任意のコントロールに対して、ある処理を行うと、そのコントロールの高さが変更されるのですが、
そのコントロールの高さが変更になった場合、それ以降に並んでいるコントロールの位置(Y座標)を
それに合わせて変更したいと考えています。
(例えば、任意のコントロールの高さが低くなったら、以降のコントロールをつめて配置する、といった具合です。)

もちろん、対象コントロール以降のコントロールの位置をループでひとつずつ変更するという手もありますが、
もっと簡単にコントロール位置の変更を行う方法ってありますか?
引用返信 編集キー/
■59095 / inTopicNo.2)  Re[1]: Panel上のコントロールのサイズ変更に伴う位置変更
□投稿者/ みきぬ (965回)-(2011/05/12(Thu) 15:31:54)
Panel の代わりに FlowLayoutPanel を使う、とか。
引用返信 編集キー/
■59098 / inTopicNo.3)  Re[2]: Panel上のコントロールのサイズ変更に伴う位置変更
□投稿者/ shu (687回)-(2011/05/12(Thu) 16:02:37)
FlowLayoutPanel が駄目な場合、Dockを上に設定するという方法もあります。
引用返信 編集キー/
■59110 / inTopicNo.4)  Re[3]: Panel上のコントロールのサイズ変更に伴う位置変更
□投稿者/ マックス (2回)-(2011/05/14(Sat) 08:50:36)
みきぬさま、shuさま、書き込みありがとうございました。
FlowLayoutPanelで実現できそうです。
FlowDirectionで少しつまづいた点がありましたが、何とかいけそうです。
ちなみに、そのつまづいた点とは、縦一列にコントロールを並べたいために、最初FlowDirectionをTopDownにしたら、
2つ目のコントロールが右に勝手に表示されてしまった点です。
おそらく、FlowDirectionをTopDownにするということは、いわゆるエクスプローラーの一覧表示のようにコントロールを
表示する(アイコンの並びが下端に到達したら右側の列に整列させる)ということだと思いますので、
FlowDirectionはLeftToRightのままにして、FlowLayoutPanelのSetFlowBreakで改行するようにしたらうまくいきました。
今後ともよろしくお願いいたします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -