我有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();
等...
答案 0 :(得分:2)
我猜你正在创建某种类型的测验应用程序,所以你只需要能够选择一次随机答案。而不是从数组中选取一个字符串,只需将所有字符串抛出一个数组并随机播放该数组。一种快速简单的洗牌方法是使用Fisher-Yates Shuffle。
然后遍历for
循环中的按钮并将值分配给按钮。 (您需要添加错误检查)。
for(int i = 0; i < myShuffledArray.Count(); i++)
myButtonsCollection[i].Text = myShuffledArray[i];