DataGridViewComboBoxCell单元格内容变化后立即引发事件

原文(C#):(38条消息) C# DataGridView 中DataGridViewComboBoxCell 下拉列表选择事件_HEALER..的博客-CSDN博客_c# combobox选择事件

Private Sub DataGridView2_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView2.EditingControlShowing
        If DataGridView2.CurrentCell.ColumnIndex = 0 AndAlso DataGridView2.CurrentCell.RowIndex <> -1 Then
            AddHandler TryCast(e.Control, ComboBox).SelectedIndexChanged, AddressOf ComboBox_SelectedIndexChanged
        End If
    End Sub

    Public Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)

        Dim combox As ComboBox = TryCast(sender, ComboBox)
        AddHandler TryCast(sender, ComboBox).Leave, AddressOf ComboBox_Leave
      ''要做什么写在这里......

    End Sub


 ''(这一步比较重要,如果不加,会导致selectedchanged事件一直触发)
 ''' <summary>
 ''' 离开combox时,把事件删除
 ''' </summary>
 ''' <param name="sender"></param>
 ''' <param name="e"></param>
    Public Sub ComboBox_Leave(ByVal sender As Object, ByVal e As EventArgs)
        Dim combox As ComboBox = TryCast(sender, ComboBox)
        'RemoveHandler Obj.Ev_Event, AddressOf EventHandler
        RemoveHandler combox.SelectedIndexChanged, AddressOf ComboBox_SelectedIndexChanged
    End Sub

 

posted @ 2022-09-25 11:10  rf8862  阅读(345)  评论(0编辑  收藏  举报