- PR -

文字列によるコントロール操作

投稿者投稿内容
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-05-11 14:22
お世話になっています。

C#で、文字列を使ってコントロール操作する方法は無いでしょうか?

たとえば

TextBox txt_box;
txt_box = new TextBox();
何かのメソッド("txt_box").Text = "xx";

という感じで操作したいのです。
よろしくお願いいたします。
未記入
ベテラン
会議室デビュー日: 2002/09/10
投稿数: 68
投稿日時: 2004-05-11 14:36

((TextBox)Page.FindControl("txt_box")).Text = "xx";

とかでどうでしょう。
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-05-11 14:57
返信ありがとうございます。

下記コードをいろいろ試してみましたが上手くいきません。

Pageはどのようなオブジェクトでしょうか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-05-11 15:22
引用:

にゃんぎさんの書き込み (2004-05-11 14:57) より:

Pageはどのようなオブジェクトでしょうか。


その質問をする前に、私の質問に答えてください。

Windowsアプリですか、Webアプリですか?


 PageオブジェクトはWebアプリケーションで使うものです。これが「ない」ということはWindowsアプリだと思います。Windowsアプリならば、PageをForm(TexBoxを置いたFormクラスのインスタンスを保持しているもの)に置き換えてください。

 Web用とWindows用で、同じ名前のクラスが定義されています。次回からはどちらで行っているか、書いてくださいね。
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-05-11 15:35
なるほど。
ご指摘の通りWindowsアプリケーションです。

Pageオブジェクトの部分をFormオブジェクトに変えてみました。
がFindoControlメソッドが存在しないようです。

Windowsアプリケーションでは他の方法をとる必要があるのでしょうか。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-05-11 15:41
引用:

にゃんぎさんの書き込み (2004-05-11 15:35) より:

Windowsアプリケーションでは他の方法をとる必要があるのでしょうか。



NAL-6295です。

ControlCollection型のControlsという名前のプロパティが存在するので、これから抽出するメソッドを実装して、それを使うようにすると良いでしょう。
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-05-11 16:07
ControlCollectionについて調べてみました。

INDEXを使ってコントロールの指定はできました。
あとは文字列でコントロールの指定ができれば解決しそうです。

もう少し調べてみます。
にゃんぎ
常連さん
会議室デビュー日: 2004/03/31
投稿数: 35
投稿日時: 2004-05-11 16:52
すみません、どうしても文字列でのコントロール指定が出来ません。

何か参考になるHPがあれば教えていただけないでしょうか。

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