如何从组合框中选择随机项,而不选择组合框中已有的项。
答案 0 :(得分:1)
我猜你想要这样的东西:
Random random = new Random();
int newIndex = -1;
do {
newIndex = random.Next(comboBox.Items.Count);
} while (newIndex == comobBox.SelectedIndex && comboBox.Items.Count > 1);
comobBox.SelectedIndex = random.Next(comboBox.Items.Count);
答案 1 :(得分:0)
您应该使用Random
类来获取0和组合框中最大项目数之间的随机数。你应该反复得到这个数字,直到得到一个与组合框中已经选择的数字不匹配的数字,如下所示:
Random random = new Random();
int newSelectedIndex = comboBox.SelectedIndex;
while (newSelectedIndex == comboBox.SelectedIndex) {
newSelectedIndex = random.Next(0, comboBox.Items.Count);
}
comboBox.SelectedIndex = newSelectedIndex;
// Item
// comboBox.Items[newSelectedIndex];
这可能不适用于C / P,因为我从头顶编写并且没有IDE可以立即进行测试,但我希望你明白这一点。
重要:如果您只有1个项目也被选中,这可能会陷入无休止的循环......
答案 2 :(得分:0)
基本上组合框有字符串中的项目,所以如果你能描述一些清楚,那么我们可能会帮助更多,无论如何这里是示例代码 你可以做到吗
ComboBox b = new ComboBox();
Random rt = new Random();
string myText = "";
myText = b.Items[rt.Next(0, b.Items.Count - 1)].ToString();