C# winfom 中如何设置listview空间只有竖直方向的滚动条,不要横向的滚动条呢?如图,去掉横向的。

如题所述

在Winform里的Listview只有scrollable的属性,可设为true或false. 如果,是true,横向(Horizon)与竖向(Vertical)同时出现。
怎么样Listview只启用竖向Veritcal滚动条Scrollbar呢。调用Win32 API的ShowScrollBar接口可实现此功能,具体步骤如下:
1. 引入System.Runtime.InteropServices
2. 申明ShowScrollBar方法
private const int SB_HORZ = 0;
private const int SB_VERT = 1;
private const int SB_CTL = 2;
private const int SB_BOTH = 3;
[DLLImport("user32"})]
public static int ShowScrollBar(int hwnd,int wBar, int bShow);
3. 在Form的Load事件里加入如下调用
this.ListView1.Scrollable = false;
ShowScrollBar( (int)this.ListView1.Handle, SB_VERT, 1);

这就OK了。
举一反三,如果只启用水平滚动条,把参数设置为SB_HORZ就OK了。追问

第二步能具体点不?

追答private const int SB_HORZ = 0;
private const int SB_VERT = 1;
private const int SB_CTL = 2;
private const int SB_BOTH = 3;
[DLLImport("user32"})]
public static int ShowScrollBar(int hwnd,int wBar, int bShow);

就这么写

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-21
上面的回答ShowScrollBar(int hwnd,int wBar, int bShow);确实可以 设置只显示水平或者垂直滚动条,但其实,如果只想 项横向排列,设置ListView Alignment 属性为 Left 就好了
相似回答