Member 11856456 Ответов: 1

Как сделать элемент управления listview точно таким же, как предварительно загруженный listview в VB.NET


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

Вот код, который я сделал до сих пор:

Public Class Enhancedlistview
    Inherits ListView

    Public Sub New()
        MyBase.New


        ' Me.SuspendLayout()
        Me.AllowColumnReorder = True
        Me.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
        Or System.Windows.Forms.AnchorStyles.Left) _
        Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.FullRowSelect = True
        Me.GridLines = True
        Me.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None
        Me.HideSelection = False
        Me.LabelWrap = False
        Me.MultiSelect = False
        Me.Name = "listviewex"
        Me.OwnerDraw = True
        Me.TabIndex = 0
        Me.UseCompatibleStateImageBehavior = False
        Me.View = System.Windows.Forms.View.Details
        Me.ResumeLayout(False)


        'add columns
        Me.Columns.Add("Nonselectableside", 150, HorizontalAlignment.Left)
        Me.Columns.Add("editableside", 150, HorizontalAlignment.Left)
    End Sub

End Class


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

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

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

Я попытался добавить к нему значения размера и местоположения, но это все равно не работает.

Ralf Meier

Ваш контроль работает на меня - но это также не имеет никакого смысла для меня.
Так... чего вы пытаетесь достичь?.. или какова ваша цель ?

Member 11856456

У меня есть дополнительный код, который будет добавлен к нему. Я просто хочу иметь свою собственную версию элемента управления listview. Он будет иметь свою собственную функциональность, которая заключается в щелчке мыши, который вставляет текстовое поле в элемент listview, а затем, как только я закончу редактировать ячейку, Я могу нажать enter и перейти к следующему элементу и сделать то же самое. Проблема в том, что когда я иду, чтобы сделать свой собственный listview, он никогда не появляется, и я получаю эту ошибку, упомянутую выше. Итак, я решил, что мне не хватает чего-то в исходном коде, что заставило бы его появиться или содержать его.

Ralf Meier

Как я уже писал ... ваш контроль работает на меня (и на мою систему).
Поэтому - пожалуйста, объясните точно, что происходит не так и что вы делаете в данный момент.
Моя проблема в данный момент заключается в том, что я не понимаю, где вы застряли ... и я также не понимаю (с этим маленьким кодом), что вы пытаетесь сделать ...

Member 11856456

Вы запускаете его в 64-кратной среде? Потому что именно там у меня есть моя проблема. Он не позволит мне перетащить этот элемент управления или любой другой элемент управления, который я создал в listview, если моя сборка 64x. Я не понимаю, почему это было бы проблемой, потому что начальный listview, который уже входит в набор инструментов, может быть использован в программе 64x.

Ralf Meier

ОК... поддерживает ли ваш .Net-фреймворк x64-режим ?

1 Ответов

Рейтинг:
2

Richard MacCutchan

Видеть vb.net custom control toolbox - поиск в Google[^]