2016-05-14 43 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!"; 
} 

我希望我的例子帮助你理解为什么它是这样的。欢呼:)