如何获取按钮从列表中选择随机名称

时间:2015-12-07 10:55:46

标签: c# visual-studio-2010

我有一个名字列表。这些名称链接到标签。当我点击标签时,会选择为该标签指定的随机名称。

我需要的是当点击一个按钮时,它会为每个标签选择一个随机名称。

例如

;

我在列表中有5个名字,每个列表都链接到一个单独的标签。将随机选择一个名称作为标签。当点击一个按钮时,我需要所有10个标签来选择一个随机名称。

希望这是有道理的。我在表单上使用Visual Studio 2010和c#。非常感谢

所以这就是我所拥有的。这是我需要的代码的一部分(不要担心它的内容)。守门员标签被称为"守门员"我的按钮应该被称为" pickTeam"但点击时显示为" button1_Click" private void button1_Click(object sender, EventArgs e)

我需要它,以便当点击按钮时,每个标签(我可以自己做一次)会选择一个已经给出的随机名称。即; Begovic,De Gea等等。

我有一个每个职位的方法。这是守门员,一旦我知道这一点,我可以为其他位置做到这一点。感谢

private void goalkeeper_Click(object sender, EventArgs e)
        {
            Random rand = new Random();
            List<string> goalkeepers = new List<string>();
            goalkeepers.Add("Neuer");
            goalkeepers.Add("De Gea");
            goalkeepers.Add("Lloris");
            goalkeepers.Add("Begovic");
            for (int i = 0; i < 4; i++)
            {
                int index = rand.Next(0, 4);
                goalkeeper.Text = goalkeepers[index];
            }
        }

1 个答案:

答案 0 :(得分:0)

按新goalkeepers订购Guid列表以获取随机订单,然后选择第一个:

private void SetLabelText(Label label, List<string> names)
{
    var randomName = names.OrderBy(x => Guid.NewGuid()).FirstOrDefault();
    label.Text = randomName;
}

您可以为每个标签调用此标记,例如:

private void SetupLabels()
{
     SetLabelText(label1, goalkeepers);
     SetLabelText(label2, goalkeepers);
     SetLabelText(label3, goalkeepers);
     SetLabelText(label4, goalkeepers);
     SetLabelText(label5, goalkeepers);
}

private void goalkeeper_Click(object sender, EventArgs e)
{
     SetupLabels();
}

但说实话,你已经拥有的东西没有太多错误