更改所引用的对象

本文关键字:对象 引用 | 更新日期: 2023-09-27 17:54:44

我刚开始使用c#,我想根据一个条件改变TextBox的写作权限:我的代码现在看起来像这样

for(int j = 0; j<ports.Count(); j++)
{
    if(ports[j] != "Not In Use")
    {
        runBootLoader(ports[j]); // is supposed to run multiple bootloaders
    }
    else
    {
        txtBoxSerial1.Enabled = false;
    }           
}    

txtBoxSerial1.Enabled = false;是我用来撤销写权限的。我有20个不同的文本框,我希望能够改变其中我写,也许是通过使用循环的迭代。

是否可以使用占位符或其他方法来完成此操作?

更改所引用的对象

您需要通过名称访问控件,所以基本上像这样:

string textboxName = String.Format( "textbox{0}", textBoxNumber );
Control[] textBoxes = this.Controls.Find( textboxName, true );
if (textBoxes != null && textBoxes.Length > 0)
{
    textBoxes[0].Text = "Hello";
}

这就是你想要的吗?如果是,那么考虑在启动时设置一个文本框的集合(例如数组,列表等),然后在此之后只访问数组,以节省每次调用Find()