ListView_Scroll调用之后,总是把ListView的滚动条显示出来了,怎么办
时间: 2024-04-26 19:03:34 浏览: 15
可以尝试在调用 `ListView_Scroll` 方法后,再调用 `ListView_ShowScrollBar` 方法将滚动条隐藏,例如:
```vb
ListView_Scroll ListView1.hWnd, 0, 100
ListView_ShowScrollBar ListView1.hWnd, SB_VERT, False
```
其中,`SB_VERT` 表示竖直方向的滚动条,`False` 表示隐藏滚动条。如果需要显示滚动条,将最后一个参数改为 `True` 即可。
相关问题
ListView_Scroll调用后再调用ShowScrollBar隐藏滚动条,会闪烁一下,有什么办法吗
可以尝试使用双缓冲技术来解决这个问题,具体方法如下:
1. 创建一个派生自ListView的新控件,例如MyListView。
2. 在MyListView的构造函数中设置双缓冲:
```c++
MyListView::MyListView()
{
this->DoubleBuffered = true;
}
```
3. 在MyListView的OnPaint方法中绘制ListView的内容:
```c++
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 绘制ListView的内容
}
```
4. 在需要隐藏滚动条时,调用以下代码:
```c++
MyListView.SetScrollState(0x1, false); // 隐藏水平滚动条
MyListView.SetScrollState(0x2, false); // 隐藏垂直滚动条
```
通过使用双缓冲技术,可以在绘制ListView的同时隐藏滚动条,避免了闪烁的问题。
winform listview如何显示横向滚动条
ListView 控件默认情况下支持横向滚动条,只需要将 ListView 控件的 View 属性设置为 Details,就可以在横向滚动条可用的情况下自动显示。
如果 ListView 控件的列宽超过了控件的宽度,则会自动显示横向滚动条。
示例代码如下:
```csharp
listView1.View = View.Details; // 设置为 Details 视图,以支持横向滚动条
```
通过上述代码,可以在 ListView 控件上自动显示横向滚动条。如果需要自定义横向滚动条的样式或行为,可以在 ListView 控件上添加一个水平滚动条(HScrollBar),并通过设置 ListView 的 Scrollable 属性来实现。