Member 13007431 Ответов: 1

О предоставлении полосы прокрутки для listview в VB.NET


Я добавил переключатели динамически в listview, и он превышает размер предоставленного listview, поэтому мне нужно добавить полосу прокрутки в listview, и я должен показать все элементы прокруткой, как я могу это сделать???

Что я уже пробовал:

listview1. scrollable=true / / но он не отображает полосу прокрутки

1 Ответов

Рейтинг:
2

Graeme_Grant

Вам нужно установить:

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

Это будет работать правильно только в том случае, если вы добавили несколько столбцов в свой Listview1, поэтому добавьте фиктивный столбец. любить:
Dim header As New ColumnHeader()
header.Text = ""
header.Name = "col1"
listView1.Columns.Add(header)

ОБНОВЛЕНИЕ: Добавлен рабочий образец
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim header As New ColumnHeader()
        header.Text = "test 1"
        header.Name = "col1"
        ListView1.Columns.Add(header)

        ListView1.Scrollable = True
        ListView1.View = View.Details

        For i = 1 To 200
            ListView1.Items.Add(String.Format("List {0}", i))
        Next

    End Sub
End Class


Member 13007431

но его не будет..

Graeme_Grant

Я построил рабочий образец с нуля и обновил свое решение с его помощью. Сделайте то же самое, прежде чем обращаться к своим.

Member 13007431

ya ваш код работает нормально, но когда я добавляю тот же код в свой проект, он не работает, я использовал переключатели, которые создаются динамически, и я добавил Эти кнопки в listview, чтобы он не показывал полосу прокрутки

Graeme_Grant

Это указывает на то, что есть проблема с вашим кодом, поэтому пришло время начать отладку. Медленно сокращайте (комментируйте) свой код, пока он не заработает. Тогда вы лучше сможете найти то, что нуждается в исправлении.

Member 13007431

Общественные суб display1()

Для каждого pList как продукта в productArrayList
Dim sr как строка = " "
Если хсет.Содержит(pList.ProductName) = False Тогда
хсет.Добавить (pList.значение ProductName)

Dim l As Label = новая метка()
л.Текст = файл plist.значение ProductName
l. Location = новая точка(x, y)
л.Имя = файл plist.Марка &ампер; файлы.свойство ProductVersion

x = x + 3
y = y + 20
Форма form1.Контроля.Добавить (l)
Printradio(файл plist)
Ещё
Printradio(файл plist)
Конец, Если

Дим regList как список(KeyValuePair(строки, словарь(строки, строки)))
regList = pList.ProductRegInfo

Для каждого regKeyValuePair As KeyValuePair (of String, Dictionary(of String, String)) В реглисте
sr = sr & (pList.Марка &ампер; файлы.Версия продукта &амп; regKeyValuePair.Ключ)
Dim regKeyValuePairD As Dictionary (of String, String)
regKeyValuePairD = regKeyValuePair. Value
Для каждого prd в regKeyValuePairD
СР = СР &ампер; (ОД.Ключ() &ампер; ОД.Значение())
Следующий
Следующий
- Почтовый ящик.Шоу (СР)
Следующий

Конец Подводной Лодки
Public Sub Printradio(ByVal plist)
Dim rad1 As RadioButton = новый RadioButton()
rad1.Текст = файл plist.ProductVersion &", " & plist.значение ProductName
рад1.Местоположение = новая точка(x, y)
y = y + 30
Форма form1.Контроля.Добавить (rad1)

Конец Подводной Лодки
///это функция, в которой я добавлю переключатели и метку в форму ....
Итак, где я должен добавить приведенный выше код????

Graeme_Grant

Я дал вам рабочее решение, теперь вы должны исправить свой код.

Member 13007431

Ладно ТНК

Member 13007431

я хочу показать выше добавленные переключатели и метки в listview, имеющие полосу прокрутки, как я могу это сделать???