将textBox的名称作为参数的函数

时间:2018-04-29 07:21:05

标签: c# .net winforms

我想为Windows Forms创建一个函数,如:

private void do(textBox_name, string text)
{
     textBox_name.Text=text.toString();
}

该函数应将textBox的名称作为参数,然后将文本写入右侧textBox。

但我不知道如何正确发送应该使用哪个textBox。

此时我已经在“if statement”中完成了它,但是添加新元素会一次又一次地编写脚本,因为我必须编写

textBox1.Text=text.toString();然后textBox2.Text=text.toString();

每个需要花费大量时间的textBox。另外,我知道我可以用开关来做,像这样:

switch(ID)
    case 1:
        textBox1.Text=text.toString();
        break;
    case 2:
        textBox2.Text=text.toString();

但我想有办法为每个textBox做一个函数。

2 个答案:

答案 0 :(得分:1)

我有一个问题 - 为什么要在ToString()上调用string方法?这是完全没必要的。

您的功能应如下所示:

private void do(TextBox tb, string text)
{
    tb.Text = text;
}

如果您使用double,那么它会略有不同:

private void do(TextBox tb, double number) //use meaningful names, "text" for double is poor choice
{
    tb.Text = number.ToString();
}

答案 1 :(得分:0)

再次欢迎。问题已经解决,这很容易,所以我真的很尴尬我多久寻找解决问题。我不知道我可以发送到TextBox的函数参数。 现在看起来像

private void write(TextBox tbox, string text) { tbox.Text=text; }