如何实现ListBox选中最后一项后自动回到顶部选中第一项?
实现ListBox选中最后一项后循环回到第一项的修改方案
原代码仅处理了未选中最后一项的情况,要实现循环选中的效果,只需要在判断分支里补充选中最后一项时重置索引到第一项的逻辑即可:
修改后的完整代码如下:
private void NextBtn_Click(object sender, EventArgs e) { NextBtn.Enabled = false; // 先判断ListBox是否有项,避免空集合引发索引异常 if (Playlist.Items.Count == 0) return; if (Playlist.SelectedIndex < Playlist.Items.Count - 1) { Playlist.SelectedIndex = Playlist.SelectedIndex + 1; } else { // 选中最后一项后,回到第一项 Playlist.SelectedIndex = 0; } }
关键修改说明
- 增加了空集合判断:如果ListBox里没有任何项,直接跳出方法,防止后续索引操作出错
- 补充
else分支:当当前选中的已经是最后一项(索引等于Items.Count - 1)时,将SelectedIndex设为0,直接选中第一项
内容的提问来源于stack exchange,提问作者user19950465
相关产品推荐
相关产品推荐

