通过将 DataGridView 的EditMode属性设置为EditOnEnter
并创建EditingControlShowing事件并添加代码以在此事件中下拉组合框,我能够激活组合框并使用单击鼠标将其下拉。这是示例代码 -
//to get the correct cell get value of row and column indexs of the cell
ColIndex = 1;
RowIndex = 1;
DataGridViewComboBoxCell ComboBoxCell = new DataGridViewComboBoxCell();
ComboBoxCell.Items.AddRange("XYZ", "ABC", "PQR");
ComboBoxCell.Value = "XYZ";
datagridview1[ColIndex, RowIndex] = ComboBoxCell;
从上面的代码中,位置 (1,1) 的 DataGirdCell 将转换为“DataGridViewComboBoxCell”,并且组合框将显示在单元格中。
下拉组合框可能需要多次单击鼠标。要在单击时激活组合框,需要执行以下步骤 -
- 将组合框单元格的 ReadOnly 属性设置为 false
- 将 DataGridView 的 EditMode 属性设置为 EditOnEnter
- 创建 EditingControlShowing 事件并添加代码以下拉组合框
这是下拉组合框并单击激活它的示例代码 -
private void datagridview1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
ComboBox ctrl = e.Control as ComboBox;
ctrl.Enter -= new EventHandler(ctrl_Enter);
ctrl.Enter += new EventHandler(ctrl_Enter);
}
void ctrl_Enter(object sender, EventArgs e)
{
(sender as ComboBox).DroppedDown = true;
}
有关更多详细信息,请查看 -
http://newapputil.blogspot.in/2015/08/add-combo-box-in-cell-of-datagridview.html