Isa*_*ger 5 .net c# datagridview winforms datagridviewcomboboxcell
在我将"EditOnEnter"设置为true后,DataGridViewComboBoxCell如果我没有单击组合框的向下箭头部分,仍然需要两次单击才能打开.
任何人都有任何线索如何解决这个问题?我有自己的DataGridView课程,所以我可以通过一些智能事件处理程序轻松解决系统问题.
谢谢.
既然你已经拥有DataGridView的EditMode属性设置为'EditOnEnter’,你可以重写它的OnEditingControlShowing方法,以确保作为一个组合框获得焦点尽快所示的下拉列表:
public class myDataGridView : DataGridView
{
protected override void OnEditingControlShowing(DataGridViewEditingControlShowingEventArgs e)
{
base.OnEditingControlShowing(e);
if (e.Control is ComboBox) {
SendKeys.Send("{F4}");
}
}
}
Run Code Online (Sandbox Code Playgroud)
只要控件中的编辑控件DataGridView获得输入焦点,上面的代码就会检查它是否是一个组合框.如果是这样,它实际上"按下" F4键,这会导致下拉部分扩展(当任何组合框具有焦点时尝试它!).这有点像黑客,但它就像一个魅力.