Wie ändere ich die Farbe der DataGridView-Zelle basierend auf dem Wert der Combobox?

Ich habe eine Datagrid-Ansicht wie folgt:

Ich würde gerne

Wenn das Formular geladen wird, wenn dasGenderer Wert der Spalte ist "Männlich", die entsprechende Farbzelle der Spalte "@"Name wird Weiß sein

Wenn sich der Wert der Spalte @ ändeGender: Männlich → Weiblich, Farbzelle der SpalteName ist DarkGray, andernfalls ändert sich der Wert der SpalteGender: Weiblich → Männlich, Farbzelle der SpalteName wird Weiß sein

Ich habe es versucht, aber ich kann es nicht tun:

    private void dataGridView_CurrentCellDirtyStateChanged(object sender, EventArgs e)
    {
        DataGridView dgv = sender as DataGridView;
        DataGridViewCell cell = dgv.CurrentCell;

        if (dgv.Rows[cell.RowIndex].Cells["Gender"].Value.ToString().Trim() == "Male")
        {
            // Male
            dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.White;
        }
        else
        {
            // Female
            dgv.Rows[cell.RowIndex].DefaultCellStyle.BackColor = Color.DarkGray;
        }
    }

ODER

    private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        DataGridView dgv = sender as DataGridView;

        if (dgv.Columns[e.ColumnIndex].Name.Equals("Gender"))
        {
            if (e.Value != null && e.Value.ToString().Trim() == "Male")
            {
                e.CellStyle.BackColor = Color.White;
            }
            else
            {
                e.CellStyle.BackColor = Color.DarkGray;
            }
        }

        //if (dgv.Rows[e.RowIndex].Cells["Gender"].Value.ToString().Trim() == "Male")
        //{
        //    e.CellStyle.BackColor = Color.White;
        //}
        //else
        //{
        //    e.CellStyle.BackColor = Color.DarkGray;
        //}
    }

Irgendwelche Tipps dazu werden eine große Hilfe sein. Danke im Voraus

Antworten auf die Frage(4)

Ihre Antwort auf die Frage