1

我有一个列表框,我试图在 ItemCheck Handler 中获取当前选中的项目,但我不能,->我可以使用属性 chckdLstBox_Metabolites.CheckedItems 获取 CheckedItems 列表但是我如何获取之前检查过的项目? ???

4

2 回答 2

3

您可以使用事件的 ItemCheckEventArgs:

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        //Note: MessageBox is for demo use only 
        MessageBox.Show("Selected Index: " + e.Index.ToString());
        MessageBox.Show("Current Value: " + e.CurrentValue.ToString());
        MessageBox.Show("New Value: " + e.NewValue.ToString());
        //Getting the item would be:
        string currentItem = (string)this.checkedListBox1.Items[e.Index];
        MessageBox.Show("Current Item: " + currentItem);
    } 
于 2010-03-29T03:26:54.767 回答
1

处理程序中的 ItemCheckEventArgs 参数将为您提供将要更改其状态的项目的索引。它具有当前值的属性以及获取或设置新值的属性。

要获取项目本身,您可以使用如下代码行。

object o = checkedListBox1.Items[e.Index]; // e is ItemCheckEventArgs
于 2010-03-29T03:23:39.113 回答