动态变量名称使用在C#中的WinForms变量、名称、动态、WinForms

2023-09-03 05:09:20 作者:The blame 黑锅

不知道什么是单词最好的方法,但我想知道,如果一个动态的变量名可以访问在C#(3.5)来完成。

下面是code我目前正在为老实了,或让更多的优雅,一个循环。

 私人无效frmFilter_Load(对象发件人,EventArgs的)
    {
        chkCategory1.Text =类别[0];
        chkCategory2.Text =类别[1];
        chkCategory3.Text =类别[2];
        chkCategory4.Text =类别[3];
        chkCategory5.Text =类别[4];
        chkCategory6.Text =类别[5];
        chkCategory7.Text =类别[6];
        chkCategory8.Text =类别[7];
        chkCategory9.Text =类别; [8]
        chkCategory10.Text =类别[9];
        chkCategory11.Text =类别[10];
        chkCategory12.Text =类[11];


    }
 

有没有办法做这样的事情(chkCategory+ i.ToString())。文字?

解决方案

 的(...)
{
     复选框C = this.Controls [chkCategory+ i.ToString()]的复选框;

     c.Text =类别[I]
}
 
如何在WinForms 应用中使用 WebView2

Not sure what is the best way to word this, but I am wondering if a dynamic variable name access can be done in C# (3.5).

Here is the code I am currently looking to "smarten up" or make more elegant with a loop.

    private void frmFilter_Load(object sender, EventArgs e)
    {
        chkCategory1.Text = categories[0];
        chkCategory2.Text = categories[1];
        chkCategory3.Text = categories[2];
        chkCategory4.Text = categories[3];
        chkCategory5.Text = categories[4];
        chkCategory6.Text = categories[5];
        chkCategory7.Text = categories[6];
        chkCategory8.Text = categories[7];
        chkCategory9.Text = categories[8];
        chkCategory10.Text = categories[9];
        chkCategory11.Text = categories[10];
        chkCategory12.Text = categories[11];  


    }

Is there a way to do something like ("chkCategory" + i.ToString()).Text?

解决方案

for(...)
{
     CheckBox c = this.Controls["chkCategory" + i.ToString()] as CheckBox ;

     c.Text = categories[i];  
}