Выберите случайную запись из выпадающего списка - PullRequest
0 голосов
/ 28 апреля 2011

Как выбрать случайный элемент из поля со списком, без выбора того, что уже есть в выпадающем списке.

Ответы [ 3 ]

1 голос
/ 28 апреля 2011

Я думаю, вы хотите что-то вроде этого:

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);
0 голосов
/ 28 апреля 2011

В основном поле со списком содержит элементы в строке, так что, если вы можете описать мне кое-что ясное, тогда мы можем помочь в любом случае, вот пример кода n вы можете сделать это

ComboBox b = new ComboBox();
Random rt = new Random();
string myText = "";
myText = b.Items[rt.Next(0, b.Items.Count - 1)].ToString();
0 голосов
/ 28 апреля 2011

Вы должны использовать класс 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 элемент, который также выбран,это может войти в бесконечный цикл ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...