У меня есть список имен, я хочу щелкнуть одно из имен, чтобы оно было выделено, а затем нажмите кнопку, которая запускает некоторый код для выбранного элемента. Как мне назвать этот выбранный элемент?
private void btnEcho_Click(object sender, EventArgs e)
{
listbox1.SelectedItem......
}
Большое спасибо





String s = listbox1.SelectedItem.Value.ToString();
Не забудьте выполнить нулевую проверку, потому что это вызовет ошибку, если ваш список пуст или если значение не выбрано.
ах, похоже, что "список" должен был указать мне, что это не проект aspnet. Простите
Твой вопрос мне непонятен.
Например, у вас есть список из трех элементов: A, B и C. У вас, как и в вашем примере, есть событие щелчка. В этом событии щелчка вы можете использовать оператор switch для обработки некоторого кода для каждого элемента:
switch (listbox1.SelectedItem)
{
case "A":
// Code when select A
break;
case "B":
// Code when select B
break;
... (and so on).
}
Код является примером и не тестируется. См. Переключатель для получения дополнительной информации.
Список не очень интуитивно понятен, потому что он содержит объекты вместо чего-то вроде ListItem, но если вам просто нужен текст, вы можете сделать это:
string selectedText = listbox1.SelectedItem.ToString();
Не забудьте про нулевую проверку. Что делать, если ничего не выбрано? Или в вашем списке нет пунктов?
Listbox1.SelectedItem получает фактически выбранный элемент. Затем вы можете вызвать из SelectedItem, чтобы получить другие свойства / методы, такие как SelectedItem.Text или SelectedItem.Value.
Если вы хотите, чтобы все это происходило при выборе из списка (вместо нажатия кнопки), вы можете просто добавить событие SelectedIndexChanged для Listbox1 (и в ASP.NET убедитесь, что для AutoPostBack установлено значение TRUE)
string str = listbox1.SelectedValue.ToString();
здесь у вас есть выбранное значение (имя).
if (str == null || str == string.empty) return;
и так далее. ты можешь делать что захочешь; удачи
если это веб-проект, вы можете не использовать ToString (), поскольку свойство Value уже является строкой.