【问题标题】:WinForms : vScrollBar for ListViewWinForms:ListView 的 vScrollBar
【发布时间】:2018-07-30 12:21:16
【问题描述】:

我想将一个 vScrollBar 控件绑定到我的列表视图,因为我的列表视图的默认垂直滚动条不能更宽。我不知道如何处理绑定这两个控件,并且可以使用此 vScrollBar 滚动我的列表视图。如果有人尝试过同样的事情并为我提供建议,欢迎他。

我想要做的是在 vScrollBar 上捕获滚动事件以影响我的列表视图滚动条的位置,但它不起作用:

private void VScrollBar1_Scroll(object sender, ScrollEventArgs e)
{            
     Point a = new Point(0, vScrollBar1.Value);
     listNotif.AutoScrollOffset = a;            
}

【问题讨论】:

    标签: c# winforms listview scrollbar


    【解决方案1】:

    您可以使用它来滚动 ListView 和自定义 vScrollBar

    private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
    {
        listNotif.EnsureVisible(e.NewValue);
    }
    

    【讨论】:

    • listNotif 是一个列表视图而不是一个列表框。 listNotif.TabIndex 不起作用,listview 没有 TopIndex 属性
    • @MrB3NiT0 对于ListView,您唯一能做的就是致电EnsureVisible。我编辑了我的帖子。
    • 很好,我的 vScrollBar 现在会影响我的列表视图上的滚动,我将执行一些测试以完全同步两个滚动条以完成您的答案。您知道两个滚动条如何具有相同的垂直高度滚动吗?
    • @MrB3NiT0 你可以使用listNotif.LargeChange属性来控制滚动的高度。
    • 非常感谢在我设置我设置的列表视图时完成:vScrollBar.Value = 0; 位于我的列表视图顶部,vScrollBar.Maximum = listNotif.Items.Count - 1 + vScrollBar.LargeChange -1; 确保滚动的底部与原始视图相同滚动和我的 vScrollBar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多