.net列表视图 - 项目选择更改之前

时间:2011-03-15 11:26:16

标签: .net listview

任何人都知道如何实现类似之前的“项目选择事件”?

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

当单击列表框中的另一个项目时,我想询问是否必须保存更改,然后(视觉上)选择其他项目。 保存选项有3个选项,是否和取消,取消时当前项目需要保持选中状态。 我通过继承和覆盖OnMouseDown和OnKeyDown对数据网格做了同样的事情,但我没有真正看到listview的解决方案。

1 个答案:

答案 0 :(得分:1)

我认为您应该只实现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;
}