のために実行されているから、イベント:防止、私は次のコードでのDataGridViewを持っているのDataGridView
private void datagridview_CustomerList_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (!_continueCellEdit)
{
_continueCellEdit = true;
return;
}
if (datagridview_CustomerList.Rows[e.RowIndex].Cells[e.ColumnIndex].OwningColumn.Name == ColumnNames.NewRateColumn.ToString())
{
var row = datagridview_CustomerList.Rows[e.RowIndex];
var font = datagridview_CustomerList.Font;
if (modMain.SSS_ToDecimal(row.Cells[ColumnNames.NewRateColumn.ToString()].Value) > 0)
{
row.DefaultCellStyle.Font = new Font(font, FontStyle.Regular);
if (modMain.SSS_ToDecimal(row.Cells[ColumnNames.BudgetBalanceColumn.ToString()].Value) > 0)
row.DefaultCellStyle.BackColor = color_BudgetCustomers;
else
row.DefaultCellStyle.BackColor = color_OriginalColor;
}
else
{
row.DefaultCellStyle.BackColor = color_ZeroCharge;
row.DefaultCellStyle.Font = new Font(font, FontStyle.Strikeout);
}
}
}
private void datagridview_CustomerList_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
_continueCellEdit = false;
PaintRow(datagridview_CustomerList.Rows[e.RowIndex]);
}
は、私が実行しているからCellEndEditイベントを防ぐために_continueCellEditを使用しています。私は、イベントを有効/無効にするには、これを使用することができます。
datagridview_CustomerList.CellEndEdit += datagridview_CustomerList_CellEndEdit;
私は上記の行を置く場所を持っていない原因これは役立ちません。私はそれをdatagridview_CustomerList_CellMouseDoubleClickに入れても、このイベントが終了した後も実行されます。私は昼食を取るために取得していないので、私はPROBこれをoverthinkingい
、私は
がこれを扱う代わりに、ブール値を使用してのより良い方法はあり何かのせいにしますが...ダメ?
ありがとうございます!
lolはい私はブール値に固執すると思います。別のアイデアをありがとう。それは私にいくつかの他の問題についていくつかのアイデアを与えてくれます。 – ErocM