- - PR -
ユーザーコントロールのサイズ変更について
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2006-12-22 15:04
表示・非表示での制御ではなく、ソースでSplitPanelの制御をするというのは
駄目ですか? 例えば、各ユーザーコントロールはメンバとして持っておいて↓ボタンが 押されたら、SplitPanelから今あるコントロールを外して、必要なコントロールを 追加するというコードを書けばできそうな気がします。 |
|
投稿日時: 2006-12-22 16:11
ご返信ありがとうございます。
>未記入さん ダイアログボックスも検討したのですが、フォントダイアログや 印刷プレビューダイアログ・オープンファイルダイアログなどどれも 当てはまりません・・・ 検索文字列を入力して検索ボタンを押したら、検索結果が DataGridViewに表示する、それで選択された値を返す・・・という 複合ダイアログボックス?はユーザーコントロールでできるのでしょうか? 無知ですみません。。 >Diosanさん SplitPanelから今あるコントロールを外すというのは、フォーム上にたくさんある ラベルやテキストを非表示にするということでしょうか? 仕様では他のコントロールは非表示にしてはいけないんです・・すみません・・ フォーム上のコントロールを全て表示させておいて、 とあるテキストボックスに入力する値が分からない場合に ↓押下で検索用複合ユーザーコントロールを表示する というカンジです。 100近くある画面で検索して値を取得するのははよく使う機能なので、 ユーザーコントロール化して、使い回そうという仕様です。 |
|
投稿日時: 2006-12-22 16:52
ごめんなさい。
ますます状況が見えなくなってきました。 私の思い違いのような気がして不安になってきましたが、 一応、こんな感じをイメージしてました。 C#ですが参考までに。 class AAA { UserControl1 _ctrl1; // <- いろんなボタン等が貼ってあるコントロール UserControl2 _ctrl2; private buttonA_Clicked(...) { splitctrl.Panel1.Controls.Clear(); _ctrl1.Anchor = System.Windows.Forms.DockStyle.Fill; splitctrl.Panel1.Controls.Add(_ctrl1); } private buttonB_Clicked(...) { splitctrl.Panel1.Controls.Clear(); _ctrl1.Anchor = System.Windows.Forms.DockStyle.Fill; splitctrl.Panel1.Controls.Add(_ctrl2); } } 常に表示しておきたいコントロールはスプリットコントロールの 外に置きます。 |
|
投稿日時: 2006-12-22 17:02
ご返信ありがとうございます。
来週月曜日にまた返信します |
|
投稿日時: 2006-12-22 17:44
>複合ダイアログボックス?はユーザーコントロールでできるのでしょうか?
普通に作ったFormをShowメソッドでは無く、ShowDialogメソッドで開けば ダイアログボックスのように振舞ってくれます。 http://dobon.net/vb/dotnet/form/okcancelbutton.html 表示座標はStartPositionをマニュアルにしてLocationプロパティに 表示したい座標を設定してから開けばよいかと。 DialogResult以外の検索結果等の受け渡し部分は自作しないといけませんが、 その辺は検索してみればサンプル等、豊富に存在するかと思います。 http://dobon.net/vb/dotnet/form/accessanotherformdata.html とりあえず、.Netの使いそうな機能については一通りDOBONさんのサイトの TIPSを見れば参考になると思います。 http://dobon.net/ |
|
投稿日時: 2006-12-25 09:16
未記入さん、Diosanさん
ご返信ありがとうございます。 8名体制の開発で、画面が多数あるのですが、 ほとんどの画面で検索機能を使用するシステムに 取り掛かるに当たって、使いまわしできる検索機能の ユーザーコントロールを作成しようということで 現在頑張っています。 ユーザーコントロールではなくSplitContainerや DaialogBoxなど他にも汎用的に使いまわせる機能が あることを勉強させていただきました。 現行のシステムがユーザーコントロールを作成してあり (VB6)そのコントロールは.NETにはUPDATEできないため 新規で作成している次第です。 ユーザーコントロールにこだわらなくても汎用できそうですね。 教えていただいたURL参考にしますね。 本当にありがとうございました。 |
