使用foreach从列表/数组中分配字符串以使TextBox倍增

时间:2016-10-27 14:00:50

标签: c# mysql visual-studio-2015 mysql-connector

这是我的第一个问题,我会尽力明白。我花了3个小时++试图找到一个解决方案,并进行了大量的谷歌搜索。

首先,请参阅我的代码的相关部分:

DBHelper

public List<string> mylist;

Form1中

while (dbhelper.myReader.Read())            
       dbhelper.mylist.Add(dbhelper.myReader.GetString("Nom_Equipe"));

窗体2

TextBox[] textboxlist1 = {dueltbTeam1, dueltbTeam2, dueltbTeam3, dueltbTeam4, dueltbTeam5, dueltbTeam6, dueltbTeam7, dueltbTeam8};

    foreach (TextBox textbox in textboxlist1)
            {
                 Action<string> entry;
                 entry = f => Assign(textbox, f);
                 dbhelper.mylist.ForEach(entry);
            }

    private static void Assign(TextBox s, string f)
            {
                s.Text = f;
            }

我确定了&#34; dbhelper.mylist&#34;仍然由form2中的内容填充,它仍然包含我的mysql数据库的8个团队,所以它不是一个问题。我还能够使每个TextBox显示一个团队名称,每个TextBox都相同。但我需要每个团队展示一次,每个文本框一个团队。

foreach (string teamname in dbhelper.mylist)
                {
                    foreach (TextBox textbox in textboxlist1)
                    {
                        textbox.Text = teamname;
                    }
                }

在每个文本框中成功显示了一个团队,同一个团队,但我需要看到不同的团队。

原谅我的英语,我是法国人。如果我需要精确的话,我会尽快做到。谢谢!

编辑:我在textboxlist1中的条目数与dbhelper.mylist中的条目数相同。

1 个答案:

答案 0 :(得分:0)

我们假设您与teamNames中的记录具有相同数量的textBoxList1

for(int i=0; i<dbhelper.mylist.Length -1; i++)
{
    textboxlist1[i].Text = dbhelper.mylist[i];
}

如果您在textboxlist1dbhelper.mylist中没有相同数量的元素,则应该看到哪个数组的长度较小,您应该按此长度循环。