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

わんくま同盟

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

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


(過去ログ 29 を表示中)
■13692 / )  Re[1]: ユーザーコントロール Form側の名称
□投稿者/ 魔界の仮面弁士 (596回)-(2008/02/01(Fri) 17:39:18)
No13689 (しほちゃん★ さん) に返信
> UserControlTextって名前のコントロールを作成いたしました。
それは具体的に、どのようなコントロールなのでしょうか?
とりあえず、「UserControl に TextBox を一つだけ貼った物」だと解釈して回答します。


> Form1でUserControltextを6つはりつけました。
> UserControltext内のtext1で値を入力した時にポップアップ画面にとばします。
この部分を、もう少し詳しく教えてください。
入力した時に、ポップアップ画面に「何を」「どのようなコードで」とばしているのでしょうか?

それから、「とばす」は複数の意味をもつ言葉なので(skip, transfer, throw 等)、
誤解の無いよう、念のために別の言葉で説明し直して頂けると助かります。


> ポップアップ画面ではUserControltextの1〜6のどのtext1からとんできたか必要です。
text1 に入力した時(入力した直後、という意味かな?)に、ポップアップ画面に「とばす」処理を
行っているのは、どの部分ですか?
 (1) Form1
 (2) Form1 上の UserControlText1〜6
 (3) UserControlText 上の Text1

たとえば、Text1の TextChanged イベントで「とばす」のであれば、
イベント引数の sender で、Text1 自身を得られます。そこまで得られれば、
あとはその Text1 の Parentプロパティで、親となる UserControl を得られるかと。


> Formで決めたUserControltextの名称が必要です。
処理の流れが分からなかったので、あまり具体的な回答はできませんが、
現在アクティブになっているコントロールを得たいという意味であれば、
ActiveControl プロパティで得られるかと思います。

アクティブかどうかは関係無く、単に名称を得たいだけなら、そのコントロール自身は、
 Me.Name
で、自分の名前を得られるでしょうし、Form側からなら、
 対象コントロール.Name
で名前を得られるかと思いますよ。


ただ、あまりデザイン時の「名称」には頼らない方が安全かもしれません。
今回のケースでは大丈夫なのかもしれませんが、Name プロパティ自体は
実行時に変更可能なので、たとえば、コントロールの利用者が
 Label1.Name = "Label2"
 Label2.Name = "Label1"
のように、名前を変更してしまう事も許可されていますし。
返信 編集キー/


管理者用

- Child Tree -