随机更改按钮名称

时间:2012-12-18 23:18:36

标签: c# button

我有4个按钮btn1 btn2 btn3 btn4

q1 = from tAns in db.Questions where tAns.idQuestion == x select tAns;
q2 = from fAns1 in db.Questions where fAns1.idQuestion == x select fAns1;
q3 = from fAns2 in db.Questions where fAns2.idQuestion == x select fAns2;
q4 = from fAns3 in db.Questions where fAns3.idQuestion == x select fAns3;

我需要一种随机改变按钮文字的方法...... 可能的产出:

第一次

btn1.Text = q2.ToString();
btn2.Text = q4.ToString();
btn3.Text = q3.ToString();
btn4.Text = q1.ToString();

第二次

btn1.Text = q1.ToString();
btn2.Text = q3.ToString();
btn3.Text = q2.ToString();
btn4.Text = q4.ToString();

等...

1 个答案:

答案 0 :(得分:2)

我猜你正在创建某种类型的测验应用程序,所以你只需要能够选择一次随机答案。而不是从数组中选取一个字符串,只需将所有字符串抛出一个数组并随机播放该数组。一种快速简单的洗牌方法是使用Fisher-Yates Shuffle

然后遍历for循环中的按钮并将值分配给按钮。 (您需要添加错误检查)。

for(int i = 0; i < myShuffledArray.Count(); i++)
     myButtonsCollection[i].Text = myShuffledArray[i];