2012-12-07 35 views

答えて

-3

派生データグリッドビューが作成されていない限り、個々のセル境界線スタイルを変更する方法はありません。

+5

がtrueでない場合、これはカスタムDataGridViewで行うことができます。マイクロソフトのサイトには次のようなものがあります。http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewadvancedborderstyle.aspx –

+3

これは偽です。単にセルのペイント方法をオーバーライドすることができます – Edmondo1984

9

長方形を描くことができます。この例では、選択したセルに赤いボコーダを配置します。

private void dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) 
{ 
    if (e.RowIndex >= 0 && e.ColumnIndex >= 0) 
    { 
     if (dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected == true) 
     { 
      e.Paint(e.CellBounds, DataGridViewPaintParts.All & ~DataGridViewPaintParts.Border); 
      using (Pen p = new Pen(Color.Red, 1)) 
      { 
       Rectangle rect = e.CellBounds; 
       rect.Width -= 2; 
       rect.Height -= 2; 
       e.Graphics.DrawRectangle(p, rect); 
      } 
      e.Handled = true; 
     } 
    } 
} 
+0

これは例は、セルが選択されている場合にのみ機能します。複数の矩形を作成する必要がある場合はどうすればよいですか? – Doro

+0

@doro条件を変更することができます:selected == true –

+0

私は試しましたが動作しません。 – Doro

0

MSDNを使用すると、デフォルトの境界線のスタイルを上書きするためのDataGridViewを継承することができる方法を説明します。上記のDataGridViewAdvancedBorderStyle Class

塗装方法は、しかし、単純です。

関連する問題