我正在做一些 WinForms 工作,对于 DataGridView 我必须在Grid Header中显示一些单元格的空白文本,我想删除Line分隔符以给用户感觉就像是一个单细胞。
我会为暂定设计附上一个屏幕截图,此刻我做了什么,在该线上添加了一个面板,如果我没有可重新调整大小的窗口,那就很好,但当我将我的应用程序切换到动态重新调整大小,阴影面板不对齐。请建议如何通过编码来解决问题
答案 0 :(得分:5)
我在代码修改后成功完成了这段代码。
解决方案是在 _Paint 事件中执行所有操作。
dataGridView1.EnableHeadersVisualStyles = false;
Rectangle headerRect = this.dataGridView1.GetCellDisplayRectangle(dataGridView1.Columns["phone"].Index, -1, true); //get the column header cell
headerRect.X = headerRect.X + headerRect.Width-2;
headerRect.Y += 1;
headerRect.Width = 2*2;
headerRect.Height -= 2;
DataGridViewColumn dataGridViewColumn = dataGridView1.Columns["<Column>"];
Color cl;
cl = dataGridView1.ColumnHeadersDefaultCellStyle.BackColor;
e.Graphics.FillRectangle(new SolidBrush(cl), headerRect);