在vb网中的EditingControlShowing中的addhandler

时间:2018-08-31 19:58:00

标签: vb.net

我在DataGridView_EditingControlShowing中有这段代码

    If TypeOf e.Control Is ComboBox Then
        With DirectCast(e.Control, ComboBox)
            .DropDownStyle = ComboBoxStyle.DropDown
            .AutoCompleteMode = AutoCompleteMode.SuggestAppend
            .AutoCompleteSource = AutoCompleteSource.ListItems
            .DroppedDown = False
        End With
        AddHandler e.Control.KeyDown, AddressOf cell_KeyDown      
    End If

我要在按下键进行操作时使用addhandler(DirectCast(e.Control,ComboBox).DroppedDown = False) 但它的addressof指向我不能使用e.control的外部子。因为e.control仅适用于DataGridView_EditingControlShowing事件子 有解决方案吗?

1 个答案:

答案 0 :(得分:0)

如果要将处理程序添加到KeyDown当前引用的对象的e.Control事件中,则在该处理程序中,该对象将是sender。引发事件的对象总是通过sender参数提供。这意味着,在您的cell_KeyDown方法中,您需要执行以下操作:

DirectCast(sender, ComboBox).DroppedDown = False