首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataGridViewComboBoxColumn -必须单击单元格两次才能显示组合框

问DataGridViewComboBoxColumn -必须单击单元格两次才能显示组合框
EN

Stack Overflow用户
提问于 2015-10-05 11:27:24
回答 1查看 4.9K关注 0票数 11

我使用的是一个DataGridView,它使用带有几个列(包括一个DataGridViewComboBoxColumn列)的设计器创建。

我不得不在每个单元格上点击两次甚至三次才能显示下拉列表,这有点让人恼火:

  1. 如果我点击文本部分,它需要3次点击!

​

​

  1. 如果我单击向下箭头,只需单击两次:

​

​

我猜想这是由于单元格使用第一次单击来获得焦点,但是有什么方法可以解决这个问题,所以单击一个单元格就可以立即显示组合框了吗?我注意到使用DataGridViewCheckBoxColumn不会发生同样的问题.单击复选框立即切换它,不管该单元格是否有焦点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-05 11:48:10

您可以简单地将EditMode属性的DataGridView设置为EditOnEnter。

这样编辑就更容易了。几乎只需单击一次,但如果您希望立即为ComboBoxColumn单击combobox显示下拉列表的内容,则可以处理CellClick事件,然后使用网格的EditingControl将其转换为DataGridViewComboBoxEditingControl并使其显示下拉显示。

代码语言:javascript
复制
private void categoryDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
    //You can check for e.ColumnIndex to limit this to your specific column
    var editingControl = this.categoryDataGridView.EditingControl as 
        DataGridViewComboBoxEditingControl;
    if (editingControl != null)
        editingControl.DroppedDown = true;
}

在使用此技巧时要小心,当用户只想在单元格之间导航而不进行编辑时,您可能会使下拉列表很烦人。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32947475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档