Windows フォームを使用して初めての C# アプリケーションを作成していますが、少し問題が発生しています。DataGridView コントロールの特定のセル内に配置されたコンテンツを検証しようとしています。内容が有効でない場合は、ユーザーに警告し、セルの背景を赤で強調表示します。さらに、イベントをキャンセルして、ユーザーが別のセルに移動できないようにします。これを実行しようとすると、メッセージ ボックスは正常に表示されますが、背景色は変わりません。誰かが理由を知っていますか?これが私のコードです:
private void dataInventory_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
switch (e.ColumnIndex)
{
case 0:
if (!Utilities.validName(e.FormattedValue))
{
dataInventory.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Red;
MessageBox.Show("The value entered is not valid.");
e.Cancel = true;
}
else
{
dataInventory.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
}
break;
//その他のもの