2017-03-10 180 views
0

是否有任何方式填充DataGridView單元格與HatchPattern我C#?用填充圖案填充DataGridView單元格

我試過使用dataGridView1.Rows [n] .Cells [m] .Style,但是這樣我只能改變單元格的背景顏色。

+0

你是什麼意思_HatchPattern_?不清楚你在問什麼 – Pikoh

+0

使用由兩種顏色和HatchStyle製成的HatchBrush對象填充單元格。它通常用於填充形狀。 – Szczepan

+0

我不明白你爲什麼要這樣做,但看到[這個問題](http://stackoverflow.com/q/6041044/579895) – Pikoh

回答

1

您需要所有者繪製細胞,即代碼CellPainting事件..

using System.Drawing.Drawing2D; 
.. 
private void dataGridView1_CellPainting(object sender, 
             DataGridViewCellPaintingEventArgs e) 
{ 
    Rectangle cr = e.CellBounds; 
    e.PaintBackground(cr, true); 

    Color c1 = Color.FromArgb(64, Color.GreenYellow); 
    Color c2 = Color.FromArgb(64, e.State == DataGridViewElementStates.Selected ? 
       Color.HotPink : Color.RosyBrown) ; 

    if (e.RowIndex == 2 && (e.ColumnIndex >= 3)) 
     using (HatchBrush brush = new HatchBrush(HatchStyle.LargeConfetti, c1, c2)) 
     { 
      e.Graphics.FillRectangle(brush, cr); 
     } 
    e.PaintContent(cr); 
} 

enter image description here

注意,我做了孵化顏色半透明的內容,更好的可讀性。我也檢查其中一個細胞被選中..