我在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事件子 有解决方案吗?
答案 0 :(得分:0)
如果要将处理程序添加到KeyDown
当前引用的对象的e.Control
事件中,则在该处理程序中,该对象将是sender
。引发事件的对象总是通过sender
参数提供。这意味着,在您的cell_KeyDown
方法中,您需要执行以下操作:
DirectCast(sender, ComboBox).DroppedDown = False