【问题标题】:Dropdown should open on single click in datagrid winforms在 datagrid winforms 中单击应打开下拉菜单
【发布时间】:2014-04-01 10:52:05
【问题描述】:

我已将 EditMode 属性设置为 EditorEnter 然后单击一次我无法访问下拉菜单。

在gridcellclick上写代码

 If (e.ColumnIndex == 5)
{
SendKeys.SendWait("{F4}")
}

也是写代码

private void comboBox1_Enter(object sender, System.EventArgs e)
{
comboBox1.DroppedDown = true;
}

但结果是一样的。我无法通过单击访问下拉列表。需要点击 2 次才能打开下拉菜单。

更新:

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
                ComboBox combo = e.Control as ComboBox;
     if (combo != null)
                {
                    combo.Enter -= new EventHandler(combo_Enter);
                    combo.Enter += new EventHandler(combo_Enter);
                }
         }

【问题讨论】:

  • 什么是comboBox1?它与DataGrid 有什么关系?
  • comboBox1 动态绑定到 DataGrid 列号 5
  • 如果在comboBox1.DroppedDown = true;行设置断点,它会停在那里吗?
  • 查看我更新的问题。这就是我调用 comboBox1_Enter 事件的方式,是的,它在断点处停止。

标签: c# winforms datagrid combobox


【解决方案1】:

对我来说很好用:

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    ComboBox comboBox = e.Control as ComboBox;
    if (comboBox != null)
    {
        comboBox.Enter -= comboBox_Enter;
        comboBox.Enter += comboBox_Enter;
    }
}

private void comboBox_Enter(object sender, EventArgs e)
{
    ((ComboBox)sender).DroppedDown = true;
}

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2014-07-04
    • 2023-03-20
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多