如何隐藏ListView控件中的列?
如何在不将列Width
属性设置为0
情况下隐藏ListView
控件中的列?
另外,我可以锁定列的Width
吗?
不太清楚C++Cli
标签的C++Cli
,但是:
我假设如果您正在讨论ListView
的列,那么您将在ListView
详细信息视图中。 ListView
没有内置的Hide / Show列方式,正如我所知,因此解决方案之一就是删除该列表单UI。
要以最流畅的方式做到这一点,只需在两者之间调用ListView
列重新生成代码
listView.SuspendLayout(true); /*Manipulate column here*/ listView.ResumeLayout();
ListView
上可见的数据始终保持“在您手中”,因此,此时您将决定再次显示该列,只需显示该列并再次填充ListView
。
希望这可以帮助。
最简单的方法如下,试试这段代码:
隐藏:
LVW.Columns.Item(0).Width = 0
再次显示:
LVW.Columns.Item(0).AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent)
这可能对某人有所帮助
只需删除您希望的索引处的列:
listView1.Columns.RemoveAt(3);
如果你想要它,只需插入它的免费精选名字大全:
listView1.Columns.Insert(3, "Column Name");
它将以其价值回归。
如何隐藏/显示listview列
C#,.NET framework 3.5。
如果在“虚拟模式”下使用listview,则很容易隐藏和显示listview列。 在“虚拟模式”中,您负责使用数据填充listviewitems。 这样就可以将正确的数据放入正确的列中。
让我演示:创建一个表单,并添加一个listview控件和一个按钮控件。 将3列添加到listview控件。 将listview控件的“view”属性设置为“Details”。 将listview控件的“VirtualMode”属性设置为“True”。 将listview控件的“VirtualListSize”属性设置为“100”。 在表单中添加bool:
private bool mblnShow = true;
为listview控件添加事件“RetrieveVirtualItem”,并添加以下代码:
ListViewItem objListViewItem = new ListViewItem(); objListViewItem.Text = "Item index: " + e.ItemIndex.ToString(); if (mblnShow) objListViewItem.SubItems.Add("second column: " + DateTime.Now.Millisecond.ToString()); objListViewItem.SubItems.Add("third column: " + DateTime.Now.Millisecond.ToString()); e.Item = objListViewItem;
为按钮控件添加“Click”事件,并添加以下代码:
mblnShow = !mblnShow; if (mblnShow && !this.listView1.Columns.Contains(this.columnHeader2)) this.listView1.Columns.Insert(1, this.columnHeader2); else if (!mblnShow && this.listView1.Columns.Contains(this.columnHeader2)) this.listView1.Columns.Remove(this.columnHeader2);
运行该应用程序,然后按按钮显示并隐藏第二列。
请注意,如果将数据放入items集合中,则在虚拟模式下运行listview将引发错误。 关于虚拟模式的知识还有很多,所以我建议在使用它之前阅读它。
如果需要将数据与行相关联而不显示它,请使用ListView的Tag属性
转到编辑列(在设计模式下列表视图的属性下),在Misc set Width to ZERO下
如果您只有一列,则会显示第二个空列以填充右侧的额外空格。 要隐藏此空列,请实现listview resize事件。 在那里做以下。
m_lstItems.Columns[0].Width = m_lstItems.Width - 5;
这将有效地隐藏额外的空列,而是让第一列占用列表视图中的所有空间。
我正在寻找一种方法来做同样的事情,把我带到这里。
我不确定是否有更好的方法,但我使用以下解决方法。
如果需要向Listview
项添加值但不想显示它,则可以使用大于总列数的子项索引。 这样,即使值存在,也不可见
上述就是C#学习教程:如何隐藏ListView控件中的列?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/996779.html