2016-05-14 44 views
-1

我可以給組件添加別名嗎? 例子: 我已經textbox1.text然後我命名的textbox1.text爲「ABC」 那麼,如果我給那個textbox1.text的值,我只需運行該代碼:混疊組件和多個選擇

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

如果我有多個文本框,我可以選擇所有的文本框嗎? 例如: 我有textbox1,textbox2,textbox3然後我將重置文本所有文本框 我可以選擇多個文本框?

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

這將是一種方便的方式,當我有超過15個文本框控件的窗體上。

+1

你爲什麼要這麼做?這隻會讓代碼變得不可讀,遠非慣常做法。至於選擇多個文本框。我怕你不能。相反,循環遍歷給定容器中的所有文本框並適當地設置它們的文本。 –

+0

我只是好奇,它總是在我的腦海中想到。我只是在練習,也許有一天這段代碼會更有用 –

+0

我會在下面發表一個解釋性的答案,以便你能理解這個想法。 –

回答

0

所以,我想告訴你爲什麼這種方法不合適。

案例一 - 給別名

看看這兩個代碼(第一個是我們的「僞C#代碼」,如果有別名,它不會實際上可以工作)

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

    int number = 5; 
    number.toStringValue; 
} 

現在,與此(實際的C#示例)進行比較:

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

這可能是一個overexaggeration,但仍 - 它看上去非常糟糕。另外,請記住,在編程時,你應該堅持常見的做法,這樣有一天當有人讀你的代碼時(例如在工作中),他不會在5秒內去「海拉我出去」,但實際上會理解你寫。

案例二 - 分組

這是一個純粹只是不切實際的。你可能少寫5行代碼,但是在處理很多項目時你仍然不得不使用原始方法。

看代碼和(同上情況下),自己比較:

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

現在,隨着實際的例子比較:

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

我希望我的例子幫助你理解爲什麼它是這樣的。歡呼:)