(извините за слабость в английском)Я работаю с оконным приложением, VB, VS 2012, .net F / W- 4.5У меня есть DGV (datagridview) в форме.В dgv существуют разные типы столбцов, которые создаются во время выполнения.Прежде всего, чтобы выполнить следующий шаг процесса, я должен определить, какой тип ячейки / столбца выбран (например, dgv-combobox, dgv-textbox и т. Д.).Код здесь, который не работает для меня, поэтому я попытался проверить тип нажатой dgv-ячейки с помощью MsgBox.
Private Sub dgv_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles dgv.EditingControlShowing
Dim column_type As Object
column_type = dgv.Columns(dgv.SelectedCells(0).ColumnIndex).CellType
column_type.GetType()
If TypeOf column_type Is DataGridViewComboBoxCell Then
'code goes here
MsgBox("yes")
Else
'code goes here
MsgBox(column_type.ToString)
End If
End Sub
Но проблема в том, что управление входит в остальную часть if...else statement
все время и MsgBox(column_type.ToString)
отображается для всех типов столбцов, которые являются System.Windows.Forms.DataGridViewTextBoxCell или System.Windows.Forms.DataGridViewComboBoxCell.Я пытался проверить тип столбца, используяDataGridViewComboBoxCell,DataGridViewComboBoxColumn,DataGridViewComboBoxEditingControl - но ничего не работает.Я не уверен, но я думаю, что проблема с Dim column_type As Object
.Пожалуйста, помогите мне, ребята.Заранее спасибо.