.net Listview-更改项目选择之前

.net Listview-更改项目选择之前,.net,listview,.net,Listview,有人知道如何在“项目选定事件”之前实现类似的功能吗 我会解释我需要什么。 列表框中有项目,选择项目后,表单上的文本框将填充该项目的更多数据 单击列表框中的另一项时,我想询问是否必须在(视觉)选择另一项之前保存更改。 “保存”选项有3个选项,即“是”“否”和“取消”。在“取消”上,当前项目需要保持选中状态。 通过继承和重写OnMouseDown和OnKeyDown,我对datagrid也做了同样的事情,但是我没有看到listview的解决方案。我认为您应该实现OnSelectedIndexChan

有人知道如何在“项目选定事件”之前实现类似的功能吗

我会解释我需要什么。 列表框中有项目,选择项目后,表单上的文本框将填充该项目的更多数据

单击列表框中的另一项时,我想询问是否必须在(视觉)选择另一项之前保存更改。 “保存”选项有3个选项,即“是”“否”和“取消”。在“取消”上,当前项目需要保持选中状态。
通过继承和重写OnMouseDown和OnKeyDown,我对datagrid也做了同样的事情,但是我没有看到listview的解决方案。

我认为您应该实现OnSelectedIndexChanged事件中的所有功能。 您需要的是一个全局变量(或类成员),它保存以前的索引状态

即:

private int PrevoiusSelectedIndex = -1;

public void MyListBox_SelectedIndexChanged(object sender, EventArgs e){
    if (PrevoiusSelectedIndex != -1){
         // show message box
         // save all the data for item at index PrevoiusSelectedIndex 
    }
    PrevoiusSelectedIndex = ((ListBox)(sender)).SelectedIndex;
}