[C#]繪製DataGridView的垂直分隔線

[C#]繪製DataGridView的垂直分隔線

最近UX設計師給我了一個Design,裡面設計了一個用來管理帳號的Grid介面,這個Grid看起來非常的客製,但是用內建的設定都可以做到,比較麻煩的只有垂直分隔線的部份,內建的DataGridView可以設出垂直分隔線,但是在沒有資料列的部份垂直分隔線就會斷掉。

image

 

所以這部份就改用繪製的方式來做,在繪製事件觸發時計算垂直分隔線的x偏移量,並用Graphics.DrawLine去繪製垂直分隔線。


		{
			var columnOffset = 0;
			foreach (DataGridViewColumn column in dataGridView1.Columns)
			{
				columnOffset += column.Width;
				e.Graphics.DrawLine(new Pen(Color.Black), columnOffset + 1, 0, columnOffset + 1, dataGridView1.Height);
			}
		}

 

我們就可以讓DataGridView的垂直分隔線看起來比較正常一點。

image

 

Link