gpt4 book ai didi

c# - 我如何让 DataGridView 组合框一键显示下拉列表?

转载 作者:太空狗 更新时间:2023-10-29 22:28:44 25 4
gpt4 key购买 nike

在我将“EditOnEnter”设置为 true 之后,如果我不单击组合框的向下箭头部分,DataGridViewComboBoxCell 仍然需要单击两次才能打开。

有人知道如何解决这个问题吗?我有我自己使用的 DataGridView 类,因此我希望可以使用一些智能事件处理程序在系统范围内轻松解决这个问题。

谢谢。

最佳答案

因为您已经将 DataGridViewEditMode 属性设置为“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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com