Как выбрать последний элемент в списке

Я использую 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);
Другие вопросы по тегам