c# – DrawItemEventArgs’“Index”属性有时会变为负数

我有一个所有者绘制的列表框控件.

问题是有时传递给我的DrawItem事件处理程序的DrawItemEventArgs参数的Index属性为“-1”.这是我不道德的修复:

private void lstBox_DrawItem(object sender, DrawItemEventArgs e)
{
    if (e.Index >= 0)
    {
        handler implementation
    }
}

我想知道通常导致负索引传递给处理程序的原因.

最佳答案 这可能是当列表框为空时,但是收到焦点 – 例如如果清单在结束时清除.

点赞