在DrawItem事件中,listView项目的状态是错误的。

7
问题在于代码中。无法理解为什么会发生这种情况。
private void listView_DrawItem(object sender, DrawListViewItemEventArgs e)
{
    // This works Ok
    if (e.Item.Selected)
    {
        // ...
    }

    // This works wrong!
    // e.State is always Selected! Why?
    if ((e.State & ListViewItemStates.Selected) != 0))
    {
        // ...
    }
}

是否有人遇到类似的问题?

1个回答

7

这似乎是一个已知的bug,自2006年以来就存在,当ListView.HideSelection属性设置为FALSE时会出现。

唯一的解决方法是像您已经做的那样:使用e.Item.Selected

这里是一个链接到bug报告的链接 - 看起来目前已被降级为低优先级。


谢谢。实际上,在进行了一些调试并尝试了ListView属性后,我自己找到了答案。只是不确定它是一个错误还是一个特性。现在清楚了。 - Zenya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接