現在のコードが使用しています...別のメソッド内からCellValueChangedイベントを呼び出す方法
1は、その後マウス...配列が1,2である、他の場所をクリックすべてが、すべての良いdataGridView1_CellValueChanged(){ //do some stuff }
2 = dataGridView1_RowLeave(){ //do some other stuff }
ユーザーがセルの値を変更した場合です= 。 IはRowLeave(前に発射するcellValueChangedを必要
しかし、ユーザがセルの値を変更する場合、Enterキーを押す、配列は2であり、1
)予め
おかげ
/////////////////////ここ
は、要求されたコード
dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
newRecord = listOfRecords.ElementAt(dataGridView1.CurrentCell.RowIndex);
_recordsHaveChanged = true;
}
dataGridView1_RowLeave(object sender, DataGridViewCellEventArgs e)
{
if (_recordsHaveChanged)
{
DialogResult dialogResult = MessageBox.Show("yes or no", "", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
UpdateChanges.PerformClick();
_recordsHaveChanged = false;
DisplayAllDataOnTheForm();
}
else if (dialogResult == DialogResult.No)
{
//do nothing , return to form
}
}
}
'{// do some stuff}'コードをそれ自身のメソッドに入れ、2か所から呼び出します。手動でイベントを呼び出さないでください。 – Plutonix
( 'RowLeave'イベントが発生したという事実に基づいて)' CellValueChanged'を起動する必要があります。 'CellValueChanged'イベントハンドラのコードや、' CellValueChanged'イベントが発生したことを確認する方法を教えてください。 – Fabio
@ファビオ、私は間違っていた。 CellValueChangedは実行されますが、それはRowLeaveの後に実行されます。私はRowLeaveの前に発射する必要があります。 – greg