| ■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" のように、名前を変更してしまう事も許可されていますし。 |