我有以下代码,当按下控件时(button1)选择列表视图中的下一个项目。如果我单击button1转到下一个项目它将工作,但所选项目不同步。要测试这个,只需按几次按钮,然后向上或向下按键盘。它没有按原样进入上一个/下一个项目。
有没有人遇到过这个问题?我错过了什么?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace lv_issue
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
listView1.Items[0].Selected = true;
}
private void button1_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 0)
return;
listView1.Focus();
int s = listView1.SelectedItems[0].Index;
listView1.Items[s].Selected = false;
if (s < listView1.Items.Count - 1)
s++;
listView1.SelectedItems.Clear();
listView1.Items[s].Selected = true;
}
}
}
答案 0 :(得分:0)
找到解决方案 - 除上述代码外,还需要将焦点设置为新选择的项目
listview1.Items[s].Focused=true;
然后每个人都应该按原样运作