2010-07-05 17 views

Odpowiedz

28

Na DataGridView znajduje się DefaultCellStyle, w środku znajdują się właściwości SelectionBackColor i SelectionForeColor.

DataGridView używa pojęcia styl dziedziczenia, w przypadku, gdy okaże się, że styl wybrać nie jest stosowana:

http://msdn.microsoft.com/en-us/library/1yef90x0.aspx

1

Wykorzystując DataGridViewCell „s wydarzenia CellEnter i CellLeave może spróbować czegoś podobnego to:

private void foobarDataGridView_CellEnter(object sender, DataGridViewCellEventArgs e) 
{ 
    DataGridViewCellStyle fooCellStyle = new DataGridViewCellStyle(); 
    fooCellStyle.BackColor = System.Drawing.Color.LightYellow; 
    this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(fooCellStyle); 
} 

private void foobarFinderDataGridView_CellLeave(object sender, DataGridViewCellEventArgs e) 
{ 
    DataGridViewCellStyle barCellStyle = new DataGridViewCellStyle(); 
    barCellStyle.BackColor = System.Drawing.Color.White; 
    this.VariableFinderDataGridView.CurrentCell.Style.ApplyStyle(barCellStyle); 
} 
+0

Co się stanie, jeśli kolor wiersza przed zaznaczeniem nie był biały? – Thunder

+0

Chodzi mi o to, że była to tylko krótka próbka, aby zilustrować tę koncepcję - po prostu tworzysz metodę pomocniczą, aby odzyskać dowolny kolor potrzebny do przełączenia się. –

26

Przyjdź człowieku ... musi być proste rozwiązanie, a na końcu jedno.

dataGridView1.DefaultCellStyle.SelectionBackColor = Color.Blue; 
dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Red; 

To zadziałało dla mnie, bez skomplikowanych kodów, bez obsługi zdarzeń. Zrobiłem to wcześniej, ale nie był w stanie przypomnieć sobie tak pomyślałem delegowania byłoby pomóc innym i mnie w przyszłości :)

+1

Doskonała odpowiedź !!! Dzięki. – SKR

0

Tu jest mój kod

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e) 
{ 
dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Maroon; 
dataGridView1.CurrentRow.DefaultCellStyle.ForeColor = Color.White; 
} 
+0

Niezły Adam! Nigdy nie wiedziałem, że istnieje! –

Powiązane problemy