代码之家  ›  专栏  ›  技术社区  ›  Ravisha

使列表视图垂直滚动

  •  27
  • Ravisha  · 技术社区  · 15 年前

    我使用的是带有复选框=true的System.Windows.Forms.ListView 我可以看到,当列表项超过所能容纳的范围时,我会得到一个水平滚动条。我试图找到任何属性来更改滚动条的方向。有没有办法使它垂直滚动?提前谢谢

    6 回复  |  直到 6 年前
        1
  •  45
  •   shytikov Cascabel    8 年前

    你需要设置

    Listview1.Scrollable = true;
    Listview1.View = View.Details
    

    只有在ListView1中添加了一些列时,此操作才会正确。 所以添加一个虚拟列。像,

    ColumnHeader header = new ColumnHeader();
    header.Text = "";
    header.Name = "col1";
    listView1.Columns.Add(header);
    
        2
  •  18
  •   Tim Cooper    13 年前

    我认为强制愚蠢的ListView垂直滚动并以“标题”模式查看项目的唯一方法是:

    ListView.View = View.Details;
    ListView.HeaderStyle = ColumnHeaderStyle.None;
    

    并添加 只有一个

        3
  •  0
  •   Dave    15 年前

    如果集合中有足够的项目(即,当前列表视图中显示的项目超过了),则列表视图还应自动显示垂直滚动条。

        4
  •  0
  •   Asad    15 年前

    尝试设置此属性

     View=Details
    

    参考文献:

        5
  •  0
  •   Neil Barnwell    15 年前

    根据S_),您不能更改滚动条方向。

    如果有项目从ListView的底部消失,则会得到一个垂直滚动条;如果有项目从ListView的右侧消失,则会得到一个水平滚动条。

    所以如果你想控制滚动条,你实际上是通过控制内容来实现的。我个人只在细节模式下使用列表视图,但是以这个为例,您要确保列标题的大小能够使它们都适合水平空间。

        6
  •  0
  •   Danil    6 年前

    你需要

    listview1.view=system.windows.forms.view.smallicon;

    然后您的控件将具有垂直滚动条,其行为与View.List几乎相同。