在DataGridView的CellEnter的事件中添加如下代码即可:
if (e.ColumnIndex == dataGridView1.Columns["仓库名"].Index) { dataGridView1.BeginEdit(false); System.Windows.Forms.ComboBox c = dataGridView1.EditingControl as System.Windows.Forms.ComboBox; if (c != null) { c.DroppedDown = true; } }
思路参考来源:https://social.msdn.microsoft.com/Forums/windows/en-US/27b08305-e7ce-4d4d-b608-c544e2748a81/datagridviewcomboboxcell-making-it-drop-down-automatically?forum=winformsdatacontrols
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (dataGridView1.CurrentCell.OwningColumn is DataGridViewComboBoxColumn) { System.Windows.Forms.ComboBox combo = (System.Windows.Forms.ComboBox)e.Control; combo.KeyDown += new KeyEventHandler(combo_KeyDown); } } void combo_KeyDown(object sender, KeyEventArgs e) { System.Windows.Forms.ComboBox c = sender as System.Windows.Forms.ComboBox; if (c != null) { c.DroppedDown = true; } }