Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как удалить выбранную строчку из ListBox

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Подскажите, как удалить выделенную строчку из ListBox? Привидите пример кода
16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
Подскажите, как удалить выделенную строчку из ListBox? Привидите пример кода




listBox1.Items.RemoveAt(listBox1.SelectedIndex);

PS: C#

288
24 июня 2008 года
nikitozz
1.2K / / 09.03.2007
Смотря в какой среде Вы пишите.
37K
24 июня 2008 года
DMG
9 / / 24.06.2008
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = Convert.ToString(listBox1.Items[listBox1.SelectedIndex]);
}

private void Delete_Click(object sender, EventArgs e)
{
if (textBox1.Text == Convert.ToString(listBox1.Items[listBox1.SelectedIndex]))
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}

Мая задача примерно такая - Выбранную строку поместить в TextBox1, потом если нажата кнопка удалить из ListBox1 эту строку, если ее только не исправили в TextBox1. Ошибка происходит когда я пытаюсь что то удалить
288
24 июня 2008 года
nikitozz
1.2K / / 09.03.2007
Что хоть за ошибка возникает?
16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
textBox1.Text = Convert.ToString(listBox1.Items[listBox1.SelectedIndex]);
}

private void Delete_Click(object sender, EventArgs e)
{
if (textBox1.Text == Convert.ToString(listBox1.Items[listBox1.SelectedIndex]))
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}

Мая задача примерно такая - Выбранную строку поместить в TextBox1, потом если нажата кнопка удалить из ListBox1 эту строку, если ее только не исправили в TextBox1. Ошибка происходит когда я пытаюсь что то удалить



Вот как на шарпе:

if (listBox1.SelectedItem.ToString() == textBox1.Text.Trim() )
listBox1.Items.RemoveAt(listBox1.SelectedIndex);

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Цитата: MAcK
Вот как на шарпе:

if (listBox1.SelectedItem.ToString() == textBox1.Text.Trim() )
listBox1.Items.RemoveAt(listBox1.SelectedIndex);



Это то же самое. А ошибка, как я понимаю в том, что когда удаляется строка а выделение остается - нечего записать в TextBox1

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
вообщем, когда я пытаюсь что то удалить - он ругается и выделяет строчку

textBox1.Text = Convert.ToString(listBox1.Items[listBox1.SelectedIndex]);
16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
Это то же самое. А ошибка, как я понимаю в том, что когда удаляется строка а выделение остается - нечего записать в TextBox1



Пральна мыслишь, только убирается финт ушами. есть стандартные процедуры их и используй, нечего выдумывать.

16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
вообщем, когда я пытаюсь что то удалить - он ругается и выделяет строчку

textBox1.Text = Convert.ToString(listBox1.Items[listBox1.SelectedIndex]);



есть такое свойство в items как count ...

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Есть такое свойство, оно возвращает количество строк, но зачем оно мне в данной ситуации?
16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
Есть такое свойство, оно возвращает количество строк, но зачем оно мне в данной ситуации?



Прав, незачем ...

Но вот так будет лучше
if (listBox1.SelectedIndex >= 0)
textBox1.Text = listBox1.SelectedItem.ToString();

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Лучше чем что? У меня может быть выбрана только одна строка. Ты предлагаешь свой код повесить на событие выделения? Тогда зачем проверка? Мне бы от ошибки избавится:confused:
37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Скажи есть ли команда которая убирает выделение?
16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
Лучше чем что? У меня может быть выбрана только одна строка. Ты предлагаешь свой код повесить на событие выделения? Тогда зачем проверка? Мне бы от ошибки избавится:confused:



Ошибка возникает от того, что после удаления нет выбранных строк в листе, и тогда selextIndex возвращает -1. Если хоть одна выбрана, то от 0 и больше, вот перед присвоением и сделай такую проверку
:mad:

PS напиши текст ошибки!!!

16K
24 июня 2008 года
MAcK
54 / / 09.06.2008
Цитата: DMG
Скажи есть ли команда которая убирает выделение?



есть

listbox1.selectIndex = -1;

37K
24 июня 2008 года
DMG
9 / / 24.06.2008
Все, спасибо. Твой код действительно верен. Проверка нужна, я ей пренебрегал и из-за этого была ошибка
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог