【发布时间】:2011-01-19 12:35:42
【问题描述】:
我正在使用System.Windows.Forms.ListView 和checkboxes = true。
我可以看到,当列表项超出容量时,我会得到一个水平滚动条。我试图找到任何属性来更改滚动条方向。
有什么办法可以让它在垂直方向上滚动?
【问题讨论】:
标签: c# winforms listview scrollable
我正在使用System.Windows.Forms.ListView 和checkboxes = true。
我可以看到,当列表项超出容量时,我会得到一个水平滚动条。我试图找到任何属性来更改滚动条方向。
有什么办法可以让它在垂直方向上滚动?
【问题讨论】:
标签: c# winforms listview scrollable
你需要设置
Listview1.Scrollable = true;
Listview1.View = View.Details
只有在您的 Listview1 中添加了一些列时,这才能正常工作, 所以添加一个虚拟列。喜欢,
ColumnHeader header = new ColumnHeader();
header.Text = "";
header.Name = "col1";
listView1.Columns.Add(header);
【讨论】:
我认为强制 ListView 垂直滚动并以“标题”模式查看项目的唯一方法是:
ListView.View = View.Details;
ListView.HeaderStyle = ColumnHeaderStyle.None;
并添加 JUST ONE 列
【讨论】:
如果集合中有足够的项目(即当前列表视图不能显示的项目),ListView 还应该自动显示垂直滚动条。
【讨论】:
【讨论】:
您无法自行更改滚动条方向。
如果您的项目超出列表视图的底部,您将获得一个垂直滚动条,如果您的项目超出列表视图的右侧,您将获得一个水平滚动条。
所以如果你想控制滚动条,你实际上是通过控制内容来做到这一点的。就我个人而言,我只在 Detail 模式下使用 ListViews,但以此为例,您需要确保列标题的大小适合它们都适合水平空间。
【讨论】:
你需要
listView1.View = System.Windows.Forms.View.SmallIcon;
然后您的控件将具有垂直滚动条,其行为与 View.List 几乎相同
【讨论】: