- - PR -
ユーザーコントロールにユーザーコントロールを追加
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-27 11:47
いつもお世話になっております。
現在WindowApplicationをVS2008(.NET3.5、Windos XP pro.)で作成しています。 そこでUserControlを親として持つユーザーコントロールAのControlsに UserControlを親として持つ別のコントロールであるユーザーコントロールBを追加しようとすると、追加はできるけれども表示した際にBが表示されません。 コントロールAの子としてBを管理し、かつ表示もうまいことさせる方法がありましたらご教授お願いします。 | ||||
|
投稿日時: 2008-11-27 12:27
「親」というのがいまいち分かりません。
「継承」を意味しているんですか? それとも「既に別のコントロールの Children に追加している」という意味ですか? (たぶん「継承」の方でしょうけど・・・) あと、ソースコードの抜粋があれば答えやすいです。 _________________ Nakamura Blog [ メッセージ編集済み 編集者: なかむら 編集日時 2008-11-27 12:29 ] | ||||
|
投稿日時: 2008-11-27 13:03
VS2008のデザイナ上での話ですか?それとも実行時の話ですか? ご説明の内容を元にユーザコントロールA(ボタンを置いただけのもの)と ユーザコントロールB(コンボボックスを置いただけのもの)を作成し、 ユーザコントロールA.Controls.Add(ユーザコントロールB)を行うコードを記述して 実行しましたが、普通に表示されましたよ。 ユーザコントロールBのVisibleプロパティやLocationプロパティが期待しない値(例えば、Visible=False)になっているのではありませんか? | ||||
|
投稿日時: 2008-12-03 14:11
結果解決しました。
二つの意味で使ってしまったのでややこしいですね。 >UserControlを親として持つユーザーコントロールA この親は継承元のことです。 >コントロールAの子としてBを管理し ここではコントロールAのChildrenとしてコントロールBをAddとしているという意味です。 >追加はできるけれども表示した際にBが表示されません。 Formに張り付いているコントロールAに同じくフォームに張り付いている別のコントロールBをコントロールAの子コントロールとして登録すると、コントロールBは元のロケーションを保ったままコントロールAの子コントロールとして追加されるのでコントロールAのロケーションからBのロケーションを足した箇所に張り付いており、いるけど表示範囲外になっていたという結末です。ロケーションを調整してやったら表示されました。 どうもお騒がせしました。 | ||||
|
投稿日時: 2008-12-06 12:00
(利用規約違反のため削除いたしました。@ITクラブメンバーシップセンター)
|
1