Как выбрать последний элемент в списке
Я использую winform и C#, я добавляю элементы в список
5<-----focus on first element
8
9
99
100
Фокус по умолчанию на первом элементе (например, 5). Но я пытаюсь так, если я добавляю новый элемент в поле списка, например 77, тогда фокус будет на 77
5
8
9
77 <---here i m trying the focus
99
100
я пробовал это, но это не работает
listBox1.SelectedIndex = listBox1.Items.Count - 1;
listBox1.Focus();
Спасибо
4 ответа
Вы можете установить фокус всякий раз, когда добавляете новый элемент в список следующим образом:
listBox1.Items.Add(77);
listBox1.SetSelected(listBox1.Items.IndexOf(77), true);
Сначала найдите последнее вставленное значение из базы данных, выбрав MAX(col.name) или топ 1 col.name (если вы используете SQL Server), и сохраните его в виде строки, или метки, или чего-то еще, затем используйте "listBox1.Items.FindByText()", чтобы установить на него фокус...
string x;
sqlconnection con="...........";
con.open();
sqlcommand cmd = new sqlcommand("select top 1 (your columnname) from yourtable",con);
x = cmd.ExecuteScalar().ToString();
con.Close();
Теперь вы получили последний вставленный элемент, затем
if (listBox1.Items.FindByText(x)!= null)
listBox1.Items.FindByText(x).Selected = true;
Мне не удалось найти какой-либо метод для последнего добавленного элемента в ListBox. Однако вы можете сохранить последний добавленный элемент в некоторой переменной, а затем пройти весь список и искать элемент с тем же значением (будет работать правильно, только если значение является уникальным). Что-то вроде этого
listBox1.SelectedIndex = listBox1.Items.IndexOf(yourNumber);
Метод Add() возвращает индекс добавленного элемента недавно.
listBox1.SelectedIndex = listBox1.Items.Add(77);
Я думаю, что это может помочь вам...