关注列表框中的最后一个条目
本文关键字:最后一个 列表 | 更新日期: 2023-09-27 18:17:06
我在我的网站上做一个聊天功能。当有人输入任何文本到它,我想要它显示所有的消息,当他进入聊天直到现在。它工作得很好……
var query = from es in gr.chats
where es.timestamps > date
orderby es.timestamps ascending
select es;
List<chat> list = new List<chat>();
foreach (chat chat1 in query)
{
list.Add(chat1);
}
for (int i = 0; i < list.Count; i++)
{
lbChat.Items.Add("[" + list[i].timestamps + "] " + list[i].personID.ToString() + ": " + list[i].besked);
}
,
我希望我的列表框的焦点是我的最新条目…我想把列表框的焦点一直移到列表框的底部。
有人对如何关注列表框中的最后一个条目有任何想法吗??
this.ListBox1.Items.Add(new ListItem("Hello", "1"));
this.ListBox1.SelectedIndex = this.ListBox1.Items.Count - 1;
第一行只是添加了一个项。第二个设置它的SelectedIndex,它决定ListBox项目列表中的哪个项目应该被选中。
使用SetSelected()
//This selects and highlights the last line
[YourListBox].SetSelected([YourListBox].Items.Count - 1, true);
//This deselects the last line
[YourListBox].SetSelected([YourListBox].Items.Count - 1, false);
附加信息(MSDN):
您可以使用此属性来设置项的选择多次选择列表框。在一次选择中选择一个项目列表框,使用SelectedIndex属性。
当你的ListBox的SelectionMode被设置为MultiSimple或MultiExtended时,你必须做一些额外的工作:
listbox.Items.Add( message );
// this won't work as it will select all the items in your listbox as you add them
//listbox.SelectedIndex = listbox.Items.Count - 1;
// Deselect the previous "last" line
if ( listbox.Items.Count > 1 )
listbox.SetSelected( listbox.Items.Count - 2, false );
// Select the current last line
listbox.SetSelected( listbox.Items.Count - 1, true );
// Make sure the last line is visible on the screen, this will scroll
// the window as you add items to it
listbox.TopIndex = listbox.Items.Count - 1;