小智 11
最简单的方法如下,试试这段代码:
隐藏:
LVW.Columns.Item(0).Width = 0
Run Code Online (Sandbox Code Playgroud)
再次显示:
LVW.Columns.Item(0).AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent)
Run Code Online (Sandbox Code Playgroud)
这可能对某人有所帮助
只需删除您希望的索引处的列:
listView1.Columns.RemoveAt(3);
Run Code Online (Sandbox Code Playgroud)
当你想要它回来时,只需插入它的名字:
listView1.Columns.Insert(3, "Column Name");
Run Code Online (Sandbox Code Playgroud)
它将以它的价值观回来。
我正在寻找一种方法来做同样的事情,这让我来到了这里。
我不确定是否有更好的方法,所以我使用以下解决方法。
如果您需要向项目添加值Listview
但不想显示它,则可以使用大于总列数的子项目索引。这样,即使该值存在,用户也看不到它。
不太清楚这里C++Cli
标签的重要性,但是:
我认为如果您正在谈论 中的列ListView
,那么您就处于控件的详细信息视图中。ListView
据我所知,没有内置的隐藏/显示列方式,因此解决方案之一可以是从 UI 中删除该列。
要以最顺利的方式做到这一点,只需ListView
在中间调用您的列再生代码 即可
listView.SuspendLayout(true);
/*Manipulate column here*/
listView.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)
上可见的数据ListView
始终保留在“您的手中”,因此此时您将决定再次显示该列,只需显示该列并ListView
再次填充即可。
希望这可以帮助。