我有一个名字列表。这些名称链接到标签。当我点击标签时,会选择为该标签指定的随机名称。
我需要的是当点击一个按钮时,它会为每个标签选择一个随机名称。
例如;
我在列表中有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];
}
}
答案 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();
}
但说实话,你已经拥有的东西没有太多错误