Как объявить переменную для DataGridviewColumn Type? - PullRequest
0 голосов
/ 31 января 2019

Это должно быть просто, но я не смог понять это даже после прочтения спецификации Microsoft .

Как сохранить тип DataGridViewColumn в объявленной переменной?Он должен предоставлять коллекцию типов, аналогично объявлению переменной для DataGridViewContentAlignment:

Dim GridAlignment as DataGridViewContentAlignment          ' declare

GridAlignment = DataGridViewContentAlignment.MiddleCenter  ' set

Так что это должно быть что-то вроде:

Dim GridColType1 as DataGridViewColumn      ' declare variable (how?)
Dim GridColType2 as DataGridViewColumn      ' declare variable (how?)

' To use variable like this:
GridColType1 = DataGridViewColumn.DataGridViewTextBoxColumn    ' set it as TextBox column
GridColType2 = DataGridViewColumn.DataGridViewComboBoxColumn   ' set it as ComboBox column

На этом этапе DataGridView не существует, этоопределение для динамической генерации, и мне нужно правильное объявление, чтобы использовать его в PropertyGrid.

РЕДАКТИРОВАТЬ: Для другой идеи, вот что VS имеет в GUI при добавлении / редактированииСтолбец DataGridView: enter image description here

Так что это объявление ColumnType с коллекцией, показанной в списке, я ищу.

1 Ответ

0 голосов
/ 02 февраля 2019

ОК, кажется, что лучший и самый простой способ - определить пользовательский Enum.

Public Enum DataGridViewColumnType
    NotSetError = 0
    TextBoxColumn = 1
    ImageColumn = 2
    CheckBoxColumn = 3
    ComboBoxColumn = 4
    ButtonCOlumn = 5
End Enum

Тогда я могу установить переменную этого типа:

Public GridColType As DataGridViewColumnType

Тогда это может бытьиспользуется в свойстве:

<CategoryAttribute("Grid"), DefaultValueAttribute(""), DescriptionAttribute("Select column type"), DisplayName("Grid Column Type")>
Public Property PropGriColType() As DataGridViewColumnType
    Get
        Return GridColType
    End Get
    Set(ByVal Value As DataGridViewColumnType)
        GridColType = Value
    End Set
End Property

Результат при желании будет таким:

enter image description here

...