我正试图通过按钮向上/向下移动选定的ListView项。该项被删除并插入到同一索引处。但我想将其添加到索引+1(向下)或索引-1(向上)处
我有4个项目,并试图向下移动项目2(在索引1处)下面是我的down_click过程的一个示例
private void down_Click(object sender, EventArgs e)
{
ListViewItem selected = listView1.SelectedItems[0];
int sel_index = listView1.SelectedItems[0].Index;
int newindex = sel_index + 1;
listView1.Items.RemoveAt(sel_index);
listView1.Items.Insert(newindex, selected);
}
2条答案
按热度按时间cbeh67ev1#
您只需将listview的视图模式更改为list:
我希望这会有帮助。
lhcgjxsq2#
实际上你的代码没有任何问题,问题出在ListView上。
当您使用ListView并将View属性设置为LargIcon(即view属性的默认值)时,SmallIcon或平铺视图(插入项目)不能按预期工作,但在列表视图和详细信息视图中,它可以按预期工作。
要解决此问题,可以执行以下任一操作:
解决方案1:(解决方法)
将ListView的View property设置为“详细信息”或“列表”。
解决方案2:(更好、更完整的解决方案)
要解决所有视图中的问题,请使用此UpdateLayout方法,并在插入项目后调用它。
所以UpButton和DownButton的代码可能是这样的:
其他附注
若要更好地查看ListView,请在设计器或代码中设置以下属性: