对选中的项目禁用CheckedListBox自动滚动

本文关键字:CheckedListBox 滚动 项目 | 更新日期: 2023-09-27 18:00:41

情况:我有一个CheckedListBox,它启用了水平滚动条,CheckOnClick设置为true。CheckListBox的大小是这样的,即显示两列项目。

问题:当用户单击第二列中的项目以选中或禁用时,水平滚动条会自动移动整行,使其位于第一列。

问题:如何禁用CheckedListBox自动移位?我看了一下这些属性,但似乎找不到可以禁用它的属性,答案是否在于继承CheckedListBox和重写方法?

谢谢你的帮助!

对选中的项目禁用CheckedListBox自动滚动

如果您总是想回到左上角的项目(一直向后滚动到左边),只需在SelectedIndexChanged上以编程方式选择item[0]。。。这仍然会触发"检查"并实际执行"检查-检查-关闭",但会返回到列表中的第一项。。。

像这样:

private void lst_Servers_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.lst_Servers.SelectedIndex = 0;
    }

问题是:当你调整表的大小时,你必须非常小心,确保最右边的列完全在可见区域内,否则如果你编辑该列中的单元格,表将向左滚动。。。