- PR -

C#2003で変数にセットされている値をコントロール名に

1
投稿者投稿内容
匿名希望
常連さん
会議室デビュー日: 2006/12/12
投稿数: 23
投稿日時: 2007-02-01 12:06
C#2003で悩んでいます

変数にセットされている値をコントロール名として使いたいのですが
どのようにすればよいのでしょうか・・・

例)
 以下のテキストボックスを2つあり
  txt01、txt02

 string型変数には"txt01"(コントロール名)が格納されているとします
  string a="txt01";

 aを使用してtxt01のプロパティを操作する
  a.text="♪♪♪";
  a.Visible=true;
sync
会議室デビュー日: 2004/07/30
投稿数: 1
投稿日時: 2007-02-01 12:52
こんにちは。

FindControlメソッドについて調べるときっと幸せになれます。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-02-01 13:14
引用:

syncさんの書き込み (2007-02-01 12:52) より:

FindControlメソッドについて調べるときっと幸せになれます。


ご質問が、.NET Framework 1.1 の Windows アプリケーションだったとすれば使えないです。

ということで、ASP.NET なのか Windows アプリケーションなのかを書いておくと良いですよ > 質問者さん

引用:

匿名希望さんの書き込み (2007-02-01 12:06) より:

変数にセットされている値をコントロール名として使いたいのですが
どのようにすればよいのでしょうか・・・


過去に何度か同じ質問があったと思いますので、検索してみてください。
ちなみに、コンパイル解決できないので私はあまり好きではありません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-02-01 22:19
 テキストボックスが大量にあって、ひとつひとつ並べて書くのは面倒だから楽したい。。。というのが本当の目的だと、私の中のエスパー伊東が申しております。
コード:
TextBox[] textBoxArray = {
    textBox1, textBox2, textBox3, textBox4, ... };

と、定義しておいて

for (int idx = 0; idx < textBoxArray.Length; ++tdx;) {
    a.text="♪♪♪";
    a.Visible=true;
}


とか、
コード:
HashTable textBoxTable = new HashTable();
textBoxTable.Add(textBox1.Name, textBox1); // ここは勘弁
textBoxTable.Add(textBox2.Name, textBox2);
textBoxTable.Add(textBox3.Name, textBox3);
...
↑ form から 子コントロールを探して回るという手もある

これで、

TextBox a = (TextBox) textBoxTable["textBox1"];
a.text="♪♪♪";
a.Visible=true;


とか。
_________________
1

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