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

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

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

Re[3]: フォーム上のコントロールの表示/非表示


(過去ログ 97 を表示中)

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

■57703 / inTopicNo.1)  フォーム上のコントロールの表示/非表示
  
□投稿者/ ハイホー (1回)-(2011/03/09(Wed) 16:39:48)

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

VB2008でダイアログFormを作成していて、このダイアログForm下部にチェックボックスを縦に2つ並べたいと考えています。
↓こんな感じ
□チェックボックス1
□チェックボックス2

ただし、ある条件(条件1)の場合、チェックボックス1を非表示にし、非表示になった高さ分だけフォームを上に詰め、
またある条件(条件2)の場合、チェックボックス2を非表示にし、非表示になった高さ分だけフォームを上に詰めるように
したいのですが、どのようにすればよいでしょうか?
なお、条件1と条件2は独立しており、チェックボックス1・2が両方非表示となるケースもあり、
また、チェックボックス1・2が両方表示となるケースもあります。
(もちろん、どちらかだけが表示となる場合もあります。)

宜しくお願い致します。
引用返信 編集キー/
■57704 / inTopicNo.2)  Re[1]: フォーム上のコントロールの表示/非表示
□投稿者/ shu (505回)-(2011/03/09(Wed) 16:57:54)
2011/03/09(Wed) 16:58:43 編集(投稿者)

No57703 (ハイホー さん) に返信

FormのMinimumSizeを(最低必要な幅, 0 または 最低限必要な高さ)とする
各チェックボックスをそれぞれのパネルに配置
パネルはDockをTopに設定
FormのAutoSize をTrueに設定
FormのAutoSizeModeをGrowAndShrinkに設定
チェックボックスの可視制御はパネルに対する可視制御により行う


引用返信 編集キー/
■57713 / inTopicNo.3)  Re[1]: フォーム上のコントロールの表示/非表示
□投稿者/ くり太郎 (4回)-(2011/03/10(Thu) 11:40:07)
くり太郎 さんの Web サイト
No57703 (ハイホー さん) に返信
> VB2008でダイアログFormを作成していて、このダイアログForm下部にチェックボックスを縦に2つ並べたいと考えています。
> ↓こんな感じ
> □チェックボックス1
> □チェックボックス2
>
> ただし、ある条件(条件1)の場合、チェックボックス1を非表示にし、非表示になった高さ分だけフォームを上に詰め、
> またある条件(条件2)の場合、チェックボックス2を非表示にし、非表示になった高さ分だけフォームを上に詰めるように
> したいのですが、どのようにすればよいでしょうか?

これって動的に表示非表示を切り替えるんですか?
それともダイアログボックスを開く時点で決定されますか?


引用返信 編集キー/
■57716 / inTopicNo.4)  Re[2]: フォーム上のコントロールの表示/非表示
□投稿者/ マサヤ (280回)-(2011/03/10(Thu) 11:56:34)
ある条件発生トリガはなんなのでしょうか?
ある条件にてPostBackが発生する、もしくはForm_Loadであればshuさんのやり方でできるのではないでしょうか。

引用返信 編集キー/
■57721 / inTopicNo.5)  Re[3]: フォーム上のコントロールの表示/非表示
□投稿者/ ハイホー (2回)-(2011/03/10(Thu) 14:01:25)
みなさん、返信ありがとうございます。
条件はコンストラクタに引数で渡し、インスタンス破棄まで条件は変化しませんので、
syu様のやり方でできそうです。
ありがとうございました。

解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -