如何选择列表框中的最新项目

时间:2014-10-29 07:22:18

标签: c# winforms

我正在使用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 个答案:

答案 0 :(得分:0)

我没有找到最新添加项目到ListBox的方法。但是,您可以将最后添加的项目保存在某个变量中,然后浏览整个listBox并搜索具有相同值的项目(仅当值是唯一的时才能正常工作)。像这样的东西

listBox1.SelectedIndex = listBox1.Items.IndexOf(yourNumber);

答案 1 :(得分:0)

每当您将新项目添加到列表框时,您可以设置焦点,如下所示,

listBox1.Items.Add(77);
listBox1.SetSelected(listBox1.Items.IndexOf(77), true);

答案 2 :(得分:0)

首先使用select MAX(col.name)查找数据库中的最后一个插入值,或者选择top 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;

答案 3 :(得分:0)

Add()方法返回添加的rencently元素的索引。

listBox1.SelectedIndex = listBox1.Items.Add(77);