2016-09-02 14 views
1

1つをクリックすると、すべてのセルの背景色を設定します。 は申し訳ありませんが、行6の上に絵Datagridviewすべてのセルの背景色

enter image description here

等にリサイズ

などに新しいです!クリックするとすべてのセルが赤色になります。

また、DefaultCellStyleDefaultRowStyleで試してみますが、それはやはり1つのセルだけです。

多分私はセル間でループし、selectに各bg色を入れる必要がありますか?

キャブ誰かに私の答えを教えてください?

+1

「DataGridView.SelectionMode」値は何ですか?目的を達成するために 'FullRowSelect'に設定するのは受け入れられますか? – ASh

+0

@AShは私の初心者の問題をsloveに感謝します。 – Ivan

答えて

1

これは試しましたか?

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     DataGridViewCellStyle CellStyle = new DataGridViewCellStyle(); 
     CellStyle.BackColor = Color.Red; 
     dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = CellStyle; 
    } 

またはあなたが完全な行の背景色を変更したい場合は、この

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
     dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red; 
    } 
+0

ありがとうございました。これも助けてください – Ivan

+0

このようなコードを使用すると、整列、前景色など、セルにある他のスタイルが失われてしまいます。また、他の行を元の値に戻すように色を設定する必要があります。 –

0
  1. がcurrentRowのクリックを聞くためのDataGridViewのClickイベントを使用してみてください。
  2. DefaultCellStyleを使用して色を設定します。

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
    { 
        dataGridView1.CurrentRow.DefaultCellStyle.BackColor = Color.Red; 
    } 
    
2

あなたは、この機能のための任意のイベントを処理する必要はありません。 SelectionBackColorプロパティがDataGridViewCellStyleの場合は、そのような目的のために選択されたときにDataGridViewセルで使用される背景色を設定します。デザイナーやコードを使用して設定するだけで十分です。

RowsDefaultCellStyle → SelectionBackColor 

また、あなたが使用することができます:

RowTemplate → DefaultCellStyle → SelectionBackColor 

を次にそれがFullRowSelectSelectionModeを設定するだけで十分です

DataGridViewのプロパティを使用して、すべてのセルの色が戻って所望の選択を設定します。

0

私はパーティーに遅れていることは知っていますが、 。 。

DataGridViewにはDefaultCellStyleがあり、その内部にはSelectionBackColorSelectionForeColorのプロパティがあります。

DataGridViewは、選択したスタイルが適用されていない場合に備えて、スタイル継承のアイデアを使用します。