addhandler in EditingControlShowing in 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

我想要添加处理程序,当按下键制作(DirectCast(e.Control,ComboBox(。下拉 = 假 ( 但它的地址是指我无法使用 e.control 的外部子。因为 e.control 仅适用于DataGridView_EditingControlShowing事件子 任何解决方案?

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

DirectCast(sender, ComboBox).DroppedDown = False

最新更新