したがって、私の目標は、ユーザーがドロップダウンリストからアイテムをクリックすると、セルが自動的にEndEdit()を呼び出すことです。最も奇妙なことは、以下のコードが、ドロップダウンして値を選択する2番目からn番目のComboBoxesCellsで機能することですが、最初のコードは決して機能しません。ここに欠けているものはありますか?
protected override void OnCellClick(DataGridViewCellEventArgs e)
{
base.OnCellClick(e);
DataGridViewComboBoxEditingControl control = this.EditingControl as DataGridViewComboBoxEditingControl;
if (control != null)
{
control.DropDownClosed += new EventHandler(control_DropDownClosed);
}
}
void control_DropDownClosed(object sender, EventArgs e)
{
this.EndEdit();
DataGridViewComboBoxEditingControl control = sender as DataGridViewComboBoxEditingControl;
control.DropDownClosed -= new EventHandler(control_DropDownClosed);
}
明らかでない場合は、DataGridViewから継承していることをここに追加する必要があります