有五列作爲DataGridViw組合框列事件在臨的datagridview的SelectedIndexChanged
1 - 產品ID 2-產品名稱3-描述4-Price和第五個是
選擇國其comboboxcolumn
DataGridView1.Columns.Add("ID", "Product ID")
DataGridView1.Columns.Add("Name", "Product Name")
DataGridView1.Columns.Add("Description", "Description")
DataGridView1.Columns.Add("Price", "Price")
Dim datagridviewcol As New DataGridViewComboBoxColumn
datagridviewcol.Items.Add("Pak")
datagridviewcol.Items.Add("KUI")
datagridviewcol.Name = "Select"
DataGridView1.Columns.Add(datagridviewcol)
我加入的datagridview的SelectedIndexChanged處理editingcontrolshowing像
Private Sub DataGridView1_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
If Me.DataGridView1.CurrentCell.ColumnIndex = 4 Then
Dim cb As ComboBox = CType(e.Control, ComboBox)
AddHandler cb.SelectedIndexChanged, AddressOf ComboBox_SelectedIndexChanged
End If
End Sub
像
Private Sub ComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
If CType(sender, ComboBox).SelectedIndex = 0 Then
MessageBox.Show("PAK")
Else
MessageBox.Show("KUI")
End If
End Sub
SelectedIndexChanged事件效果很好,但如果你是在datagridview的列#4,然後在MessageBox 4次提示,如果你從第15行中選擇「PAK」則消息框會提示15次,你 讓我只需要一次提示。
幫助我。這樣獨立行的messagebox顯示1次的次數並不比行號次數多。
我猜處理器已多次添加,所以你應該在編輯控件中刪除的處理程序,然後添加它 – V4Vendetta