2016-05-14 4 views
-1

コンポーネントにエイリアスを付けることはできますか? 例:エイリアシングコンポーネントと複数選択

abc = dgv.rows[1][1].value.ToString(); 

または

: 私はtextbox1.text値、私はこのコードを実行することを与えれば、私はその後、「ABC」 にそのtextbox1.textという名前textbox1.textています複数のテキストボックスがある場合は、そのテキストボックスをすべて選択できますか? 例: 私はtextbox1、textbox2、textbox3を持っています。そのテキストボックスをすべてリセットします。 複数のテキストボックスを選択できますか?

textbox[1][2][3].ResetText(); 

これは、フォームに15個以上のテキストボックスコントロールがある場合に便利な方法です。

+1

なぜあなたはそれをしたいですか?これは、コードを読みにくくするだけであり、一般的な慣行からは遠いです。複数のテキストボックスを選択します。私はあなたができないことを恐れている。代わりに、特定のコンテナ内のすべてのテキストボックスをループし、テキストを適切に設定します。 –

+0

私はちょうど興味があり、いつも私の心の中で考えられていました。私はちょうど練習しています、おそらくいつかそのコードはもっと役立つでしょう –

+0

私はアイデアをつかむことができるように以下の説明的な答えを投稿しようとしています。 –

答えて

0

このアプローチが適切でない理由を説明したいと思います。

ケース1 - 与える別名

これら2つのコードを見

public void changeTextBoxName(TextBox textBox) 
{ 
    TextBox.Value = value; 
    value.ToString() = toStringValue; 

    int number = 5; 
    number.toStringValue; 
} 

今(最初に私たちの '擬似C#コード' 別名があった場合、それはacutally動作しませんが)、これと比較してください(実際のC#の例):

public void changeTextBoxName(TextBox textBox) 
{ 
    int number = 5; 
    TextBox.Value = number.ToString() 
} 

これはあまりにも過激でしたが、それでもなおひどく見えます。 また、プログラミング時には、一般的な方法に従うべきであることを覚えておいてください。ある日、あなたのコードを読むとき(例えば職場で)、5秒後に "hella I'm out"にはなりませんが、書かれていました。

ケース2 -

この1をグループ化するには、単に純粋に非現実的です。おそらく5行のコードを書くことは少ないかもしれませんが、多くのアイテムを扱う際には元の方法に頼らざるを得ません。

コードを見て、(上記と同じケースを)自分のための比較:

TextBox[0][1][2][3][4][5][6][7][8][9][10].Value = "Hello!"; 

、実際の例と比較:私は私の例では、理由を理解するためにあなたを助け願ってい

foreach (TextBox tb in MyGrid) 
{ 
    tb.Value = "Hello!"; 
} 

それはそうです。乾杯:)