首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何手动下拉DataGridViewComboBoxColumn?

如何手动下拉DataGridViewComboBoxColumn?
EN

Stack Overflow用户
提问于 2008-10-27 19:16:40
回答 6查看 19.3K关注 0票数 20

我的WinForms应用程序中有一个带有一个DataGridViewComboBoxColumn的DataGridView。我需要手动下拉(打开)这个DataGridViewComboBoxColumn,比方说在一个按钮被点击之后。

我需要这个的原因是我已经将SelectionMode设置为FullRowSelect,并且我需要单击2-3次才能打开组合框。我想单击combobox单元格,它应该立即下拉。我想用CellClick event来做这件事,或者有其他方法吗?

我在谷歌和VS帮助中搜索,但我还没有找到任何信息。

有谁能帮帮忙吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-10-27 20:05:37

我知道这不是理想的解决方案,但它确实创建了一个在单元格中工作的单击组合框。

代码语言:javascript
复制
   Private Sub cell_Click(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
        DataGridView1.BeginEdit(True)
        If DataGridView1.Rows(e.RowIndex).Cells(ddl.Name).Selected = True Then
            DirectCast(DataGridView1.EditingControl, DataGridViewComboBoxEditingControl).DroppedDown = True
        End If
    End Sub

其中"ddl“是我在网格视图中添加的组合框单元格。

票数 24
EN

Stack Overflow用户

发布于 2008-10-28 10:16:28

感谢ThisMat,您的解决方案工作完美。

我在C#中的代码:

代码语言:javascript
复制
private void dataGridViewWeighings_CellClick(object sender, DataGridViewCellEventArgs e) {
    if (e.RowIndex < 0) {
        return;     // Header
    }
    if (e.ColumnIndex != 5) {
        return;     // Filter out other columns
    }

    dataGridViewWeighings.BeginEdit(true);
    ComboBox comboBox = (ComboBox)dataGridViewWeighings.EditingControl;
    comboBox.DroppedDown = true;
}
票数 17
EN

Stack Overflow用户

发布于 2008-10-27 20:28:09

我已经能够通过设置来接近你正在寻找的东西

代码语言:javascript
复制
DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter

只要没有显示其他单元格的下拉列表,它就会立即显示所选单元格的下拉列表。

如果有什么问题,我会继续思考和更新的。

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

https://stackoverflow.com/questions/241100

复制
相关文章

相似问题

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