Public Class Form1 Private ds As New DataSet Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load dgv.RowCount = 4 Dim fruit As New Dictionary(Of Integer, String) From {{0, ""}, {1, "🍎りんご"}, {2, "🍌バナナ"}, {3, "🍇ぶどう"}} Dim game As New Dictionary(Of Integer, String) From {{0, ""}, {1, "☖将棋"}, {2, "♔チェス"}, {3, "●囲碁"}} col2.DataSource = fruit.ToArray() col3.DataSource = game.ToArray() dgv("col1", 0).Value = "0行目" Dim cell01 As New DataGridViewComboBoxCell() cell01.ValueMember = "Key" cell01.DisplayMember = "Value" cell01.DataSource = fruit.ToArray() cell01.Value = 2 dgv("col1", 1) = cell01 Dim cell02 As New DataGridViewComboBoxCell() cell02.ValueMember = "Key" cell02.DisplayMember = "Value" cell02.DataSource = game.ToArray() cell02.Value = 2 dgv("col1", 2) = cell02 dgv("col1", 3).Value = "3行目" End Sub #Region "実際にはデザイン時に設定しておく範囲ですが、説明のために記述しています" Private WithEvents dgv As DataGridView Private WithEvents col1 As DataGridViewTextBoxColumn Private WithEvents col2 As DataGridViewComboBoxColumn Private WithEvents col3 As DataGridViewComboBoxColumn Public Sub New() InitializeComponent() Padding = New Padding(8) dgv = New DataGridView() With {.Name = "dgv"} dgv.Dock = DockStyle.Fill Controls.Add(dgv) col1 = New DataGridViewTextBoxColumn() With {.Name = "col1"} col2 = New DataGridViewComboBoxColumn() With {.Name = "col2"} col3 = New DataGridViewComboBoxColumn() With {.Name = "col3"} col2.ValueMember = "Key" col2.DisplayMember = "Value" col3.ValueMember = "Key" col3.DisplayMember = "Value" dgv.Columns.AddRange(col1, col2, col3) dgv.EditMode = DataGridViewEditMode.EditOnEnter dgv.AllowUserToAddRows = False End Sub #End Region End Class