C#ListView - 控制checkBox事件

时间:2009-06-10 16:03:53

标签: c# listview controls

假设我需要将项目的状态从active = true更改为active = false,反之亦然,同时将更改保留在数据库表中。

我测试了ItemChecked事件,如下所示:

    private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
    {
        ListViewItem item = (ListViewItem)sender;

        if (item != null)
        {
            Book b = (Book) item.Tag;

            b.MakeActive(item.Checked);
        }
    }

我失败了。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

在这种情况下object senderListView而非ListViewItem您的代码应为此

private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
{
   ListViewItem item = e.Item as ListViewItem;

    if (item != null)
    {
        Book b = (Book) item.Tag;

        b.MakeActive(item.Checked);
    }
}