VB:当添加了太多项目时,ListView不会自动创建滚动条?

时间:2011-06-10 22:37:25

标签: vb.net listview scrollbar

我目前在单个表单上放置ListView,然后通过代码隐藏向此ListView添加按钮。除了事实上,当列表中添加了太多项目时,它不会创建垂直滚动条,这一切都很有效吗?我可以简单地添加尽可能多的按钮,而不创建一个按钮?这是将按钮添加到列表中的代码:

        Dim x As Integer = 0
        Dim btnCount As Integer = -1
        Dim totalButtons As List(Of Button) = New List(Of Button)
        Dim mItems As ListView.ListViewItemCollection =
                New ListView.ListViewItemCollection(lstViewEditor)

        For x = 0 To 14
            'Create Button
            Dim button As Button = New Button
            button.Text = "0"
            button.BackgroundImageLayout = ImageLayout.Center
            button.BackColor = Color.WhiteSmoke
            button.Width = ((Me.lstViewEditor.Width - 10) / 15)
            button.Height = button.Width
            button.Location = New Point(x * (button.Width), 0)

            'If start
            If (Me.lstViewEditor.Controls.Count <= 14) Then
                button.Text = "2"
                button.BackColor = Color.Azure
            End If

            'Add To View
            'Me.Controls.Add(button)
            totalButtons.Add(button)

            btnCount = totalButtons.Count - 1
            AddHandler button.Click, AddressOf totalButtonHandler
        Next
        lstViewEditor.Controls.AddRange(totalButtons.ToArray)

任何帮助将不胜感激!我确实设置了Scrollable = true

2 个答案:

答案 0 :(得分:0)

尝试为ListView定义高度。

答案 1 :(得分:0)

我想我现在可以回答我自己的问题了。添加到ListView的Button(控件)没有添加到View的集合中,而只是直接添加到控件中。这是我遇到困难的地方。我假设只有当视图的集合子项增长超过某一点时你才会得到滚动条,因为我每次添加一个按钮时都会向集合中添加一些东西,它给了我吧!不喜欢这个解决方案所以显然只是因为预构建DataGridView而简单地使用了ButtonColumn