作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我将“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}");
}
}
}
只要 DataGridView
控件中的编辑控件获得输入焦点,上面的代码就会检查它是否是组合框。如果是这样,它 virtually "presses" F4 键,这会导致下拉部分展开(在任何组合框具有焦点时尝试!)。这有点像 hack,但它就像一个魅力。
关于c# - 我如何让 DataGridView 组合框一键显示下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4295785/
我是一名优秀的程序员,十分优秀!