C# 从数组加载文本框

C# 从数组加载文本框,c#,forms,C#,Forms,我的表单有几行文本框。第一行命名为txtL000到txtL009,第二行命名为txtL100到txtL109,依此类推。在每一行下面是另一行名为txtT000到txtT009的文本框,等等。当用户打开表单时,我想加载名为txtL的文本框。。。使用数组中的字符串,具体取决于名为txtT..0的相应文本框中的内容。例如,若txtT000中有“land”,我想从txtL000到txtL009加载数组arrLand中的字符串。若它有“point”,我想从数组arrPoint的字符串加载txtL000到t

我的表单有几行文本框。第一行命名为txtL000到txtL009,第二行命名为txtL100到txtL109,依此类推。在每一行下面是另一行名为txtT000到txtT009的文本框,等等。当用户打开表单时,我想加载名为txtL的文本框。。。使用数组中的字符串,具体取决于名为txtT..0的相应文本框中的内容。例如,若txtT000中有“land”,我想从txtL000到txtL009加载数组arrLand中的字符串。若它有“point”,我想从数组arrPoint的字符串加载txtL000到txtL009。最有效的方法是什么?

我能想到的最简单的方法是使用字典存储数组:

//Use any collection you prefer instead of 'List' if you want.
Dictionary<String, List> arrays = new Dictionary<String, List>();

private void OnTextChanged(object source, EventArgs e)
{
    if (source == txtT000)
        loadTextBoxes(txtT000.Text, txtL000, txtL001, txtL002, 
            txtL003, txtL004, txtL005, txtL006, txtL007, txtL008,
            txtL009); 
    //etc
}

private void loadTextBoxes(string key, params TextBox[] textboxes)
{
    List myList = arrays[key];

    //Check for both constraints on the loop so you don't get an exception
    //for going outside either index of textboxes array or myList.
    for (int i = 0; ((i < textboxes.length) && (i < myList.Count)); i++)
        textboxes[i].Text = myList[i].ToString();
}
//如果需要,可以使用您喜欢的任何集合,而不是“列表”。
字典数组=新字典();
私有void OnTextChanged(对象源,事件参数e)
{
如果(源==TXT000)
加载文本框(TXT000.Text、txtL000、txtL001、txtL002、,
txtL003、txtL004、txtL005、txtL006、txtL007、txtL008、,
txtL009);
//等
}
私有void加载文本框(字符串键、参数文本框[]文本框)
{
List myList=arrays[key];
//检查循环上的两个约束,以避免出现异常
//用于超出TextBox数组或myList的索引。
对于(inti=0;((i
我能想到的最简单的方法是使用字典来存储数组:

//Use any collection you prefer instead of 'List' if you want.
Dictionary<String, List> arrays = new Dictionary<String, List>();

private void OnTextChanged(object source, EventArgs e)
{
    if (source == txtT000)
        loadTextBoxes(txtT000.Text, txtL000, txtL001, txtL002, 
            txtL003, txtL004, txtL005, txtL006, txtL007, txtL008,
            txtL009); 
    //etc
}

private void loadTextBoxes(string key, params TextBox[] textboxes)
{
    List myList = arrays[key];

    //Check for both constraints on the loop so you don't get an exception
    //for going outside either index of textboxes array or myList.
    for (int i = 0; ((i < textboxes.length) && (i < myList.Count)); i++)
        textboxes[i].Text = myList[i].ToString();
}
//如果需要,可以使用您喜欢的任何集合,而不是“列表”。
字典数组=新字典();
私有void OnTextChanged(对象源,事件参数e)
{
如果(源==TXT000)
加载文本框(TXT000.Text、txtL000、txtL001、txtL002、,
txtL003、txtL004、txtL005、txtL006、txtL007、txtL008、,
txtL009);
//等
}
私有void加载文本框(字符串键、参数文本框[]文本框)
{
List myList=arrays[key];
//检查循环上的两个约束,以避免出现异常
//用于超出TextBox数组或myList的索引。
对于(inti=0;((i
很有趣。我从来没有想到过。谢谢有趣。我从来没有想到过。谢谢