DataGridViewのコンボボックスをワンクリックでドロップダウンさせる

■使用例

DgvHelper.SetOneClickDropDown(dgv);


■コード

/// <summary>
/// DataGridViewのコンボボックスをワンクリックでドロップダウンさせる。
/// </summary>
public static void SetOneClickDropDown(DataGridView dgv)
{
  if (dgv == null)
  {
    return;
  }

  dgv.CellClick += (sender, e) =>
  {
    if (e.RowIndex < 0 || e.ColumnIndex < 0)
    {
      return;
    }

    var cell = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex];

    if (cell.ReadOnly)
    {
      return;
    }

    if (cell is DataGridViewComboBoxCell)
    {
      dgv.BeginEdit(true);
      var edt = dgv.EditingControl as DataGridViewComboBoxEditingControl;
      if (edt != null)
      {
        edt.DroppedDown = true;
      }
    }
  };
}

参考) +++ 上野メモ帳 +++ DataGridViewのコンボボックスを1クリックでドロップダウン表示させたい