问题是,一旦将SmallImageList设置为imgList1,它就永远不会
即使将SmallImageList设置为null,也可以“释放”图标间距。
无论是否有图标,项目始终缩进相同。

有什么办法吗?

最佳答案

这是一件不寻常的事情,.NET ListView包装器不会处理它。您可以尝试重新创建本机Windows控件以将其重置。不知道这会有副作用,您必须尝试。将新类添加到您的项目中,然后粘贴以下代码。编译。从工具箱顶部放下新控件,替换原来的控件。

using System;
using System.Windows.Forms;

class MyListView : ListView {
    public new ImageList SmallImageList {
        get { return base.SmallImageList; }
        set {
            base.SmallImageList = value;
            if (value == null && base.IsHandleCreated) this.RecreateHandle();
        }
    }
}

10-06 02:36