问题 dataGridView1_CellPainting会导致flickinger视图并影响其他控件

切巴恩

新成员
已加入
2017年4月2日
留言内容
2
编程经验
1-3
我正在使用dataGridView1_CellPainting删除合并单元格的边框。视图工作正常,除了最后一行"e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.Single;"语句,导致视图闪烁到另一个面板中另一个DateTime选择器控件的异常行为。没有最后一行,就不会闪烁,其他控件也能正常工作,但是我根本不会有任何边框。请帮忙。

C#:
        private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
        {
            if (e.RowIndex < 1 || e.ColumnIndex < 0)  return;

            e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None;

            if (cellTopBorderLines[e.RowIndex, e.ColumnIndex])
                e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None;
            else 
                e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.Single;  // Causes flickering and effects other control
        }
 
最佳 底部