- PR -

ユーザーコントロールのサイズ変更について

投稿者投稿内容
Diosan
常連さん
会議室デビュー日: 2006/07/27
投稿数: 29
お住まい・勤務地: 静岡
投稿日時: 2006-12-22 15:04
表示・非表示での制御ではなく、ソースでSplitPanelの制御をするというのは
駄目ですか?
例えば、各ユーザーコントロールはメンバとして持っておいて↓ボタンが
押されたら、SplitPanelから今あるコントロールを外して、必要なコントロールを
追加するというコードを書けばできそうな気がします。
りんご
ベテラン
会議室デビュー日: 2006/12/21
投稿数: 51
投稿日時: 2006-12-22 16:11
ご返信ありがとうございます。

>未記入さん
ダイアログボックスも検討したのですが、フォントダイアログや
印刷プレビューダイアログ・オープンファイルダイアログなどどれも
当てはまりません・・・
検索文字列を入力して検索ボタンを押したら、検索結果が
DataGridViewに表示する、それで選択された値を返す・・・という
複合ダイアログボックス?はユーザーコントロールでできるのでしょうか?
無知ですみません。。

>Diosanさん
SplitPanelから今あるコントロールを外すというのは、フォーム上にたくさんある
ラベルやテキストを非表示にするということでしょうか?
仕様では他のコントロールは非表示にしてはいけないんです・・すみません・・
フォーム上のコントロールを全て表示させておいて、
とあるテキストボックスに入力する値が分からない場合に
↓押下で検索用複合ユーザーコントロールを表示する というカンジです。
100近くある画面で検索して値を取得するのははよく使う機能なので、
ユーザーコントロール化して、使い回そうという仕様です。
Diosan
常連さん
会議室デビュー日: 2006/07/27
投稿数: 29
お住まい・勤務地: 静岡
投稿日時: 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/21
投稿数: 51
投稿日時: 2006-12-22 17:02
ご返信ありがとうございます。
来週月曜日にまた返信します
未記入
大ベテラン
会議室デビュー日: 2006/12/15
投稿数: 157
投稿日時: 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/21
投稿数: 51
投稿日時: 2006-12-25 09:16
未記入さん、Diosanさん
ご返信ありがとうございます。

8名体制の開発で、画面が多数あるのですが、
ほとんどの画面で検索機能を使用するシステムに
取り掛かるに当たって、使いまわしできる検索機能の
ユーザーコントロールを作成しようということで
現在頑張っています。

ユーザーコントロールではなくSplitContainerや
DaialogBoxなど他にも汎用的に使いまわせる機能が
あることを勉強させていただきました。
現行のシステムがユーザーコントロールを作成してあり
(VB6)そのコントロールは.NETにはUPDATEできないため
新規で作成している次第です。
ユーザーコントロールにこだわらなくても汎用できそうですね。

教えていただいたURL参考にしますね。

本当にありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)