当前位置: 首页 > 编程语言 > C#

DataGridViewCellPainting不能完全在Scroll上运行share

时间:2023-04-10 19:39:41 C#

DataGridViewCellPainting不能完全在Scroll上运行第一篇文章但是浏览器很长:)所以这是我的问题:基本上我有一个datagridview,我用它来与用户交互。在所有行中,都有一个“信息”按钮,它会产生一种错觉,即它在其下方添加了另一行,合并了所有单元格(一个长单元格跨越整行)并将描述其上方行的文本和图像绘制到“信息单元”。这很好用,除了当数据网格视图垂直滚动时,似乎没有调用绘画并且网格看起来很混乱。有任何想法吗?下面是代码的基本概要:privatevoidgrid_CellPainting(objectsender,DataGridViewCellPaintingEventArgse){//遍历并绘制所有打开的信息行foreach(intiinopenInfoCells){if(i>=grid.FirstDisplayedCell.RowIndex&&i<=(grid.DisplayedRowCount(true)+grid.FirstDisplayedCell.RowIndex)){//绘制矩形....//绘制文本或图像....}}}明白了。需要通过以下操作为datagridview创建双缓冲区:classCustomDataGridView:DataGridView{publicCustomDataGridView(){base.DoubleBuffered=true;我还将代码放在RowPostPainting事件中并将if语句更改为:if(e.RowIndex==i){....}希望这对其他人有帮助。以上是C#学习教程:DataGridViewCellPaintingcannotworkcompletelyonScroll。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: