2016-10-27 25 views
1

DataGridViewで行全体を選択できるようにして、行をクリックすると、行全体が青色で強調表示されるようにしました。DataGridViewの行/セルで複数の背景色のZ-インデックスを設定する

this.dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

しかし、私はまた、時折、特定のイベントに基づいて、行またはセルの背景色を変更します。これを達成するために、私は、次のコードを使用します。これを行うには、行のDefaultCellStyleにアクセスし、BackColorを緑に設定しています。ただし、色を変更して行がすでに選択されている場合は、青色の選択されたハイライトが優先され、行に緑色のセルがあることは明らかではありません。私は緑色のセルを青い強調表示された行の上に表示したい。

SelectionModeプロパティが常にバックグラウンドに配置され、他の色が常に上に重なるように、行/セルの優先度/ Z-インデックスを設定する必要はありますか?

+0

あなたはそれらの 'BackColor'を変更する行の場合、その同じ色に' SelectionBackColor'を設定しますあなたは 'BackColor'として使用しました。 –

答えて

1

BackColorを変更する行またはセルの場合は、SelectionBackColorBackColorとして使用したのと同じ色に設定します。

dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red; 
dataGridView1.Rows[0].DefaultCellStyle.SelectionBackColor = Color.Red; 

または特定の細胞のために:特定の行については、例えば

this.dataGridView1.Rows[0].Cells[0].Style.BackColor = Color.Red; 
this.dataGridView1.Rows[0].Cells[0].Style.SelectionBackColor = Color.Red; 
+0

申し訳ありませんが、私は私の質問で非常に明確だったとは思わない。時にはセルの色を緑色に変更していますが、行選択モードが青色に設定されており、青色の行が表示されています。その行が選択されているときに、青の行の背景の上に緑のセルの背景があるようにしたいと思います。これを反映するために私の質問を編集します。 – pinhead

+1

問題はありません。 'Row'の代わりに' Cell'を使って同じことをしてください。 –

+0

'Style.SelectionBackColor'セルの行変更' DefaultCellStyle.SelectionBackColor'に対して。 –

関連する問題