Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iGrid.NET控件中强制单个单元格重新绘制_.net_Winforms_Igrid - Fatal编程技术网

在iGrid.NET控件中强制单个单元格重新绘制

在iGrid.NET控件中强制单个单元格重新绘制,.net,winforms,igrid,.net,Winforms,Igrid,我正在使用CustomDrawCellForeground模式在iGrid.NET组件的单元格中绘制图像 我认为在iGridActiveX组件中,有一个DrawCell()sub我可以调用,但是在.NET组件()中我再也找不到它了 Grid.Refresh将是一种过分的杀伤力。必须能够重新绘制单个单元格 有人能告诉我如何强制单元格重新绘制其前景吗?您可以使用控件的方法使图形对象的指定矩形无效。例如: iGrid1.Invalidate(iGrid1.Cols[0].Cells[1].Bounds

我正在使用
CustomDrawCellForeground
模式在iGrid.NET组件的单元格中绘制图像

我认为在
iGrid
ActiveX组件中,有一个
DrawCell()
sub我可以调用,但是在.NET组件()中我再也找不到它了

Grid.Refresh
将是一种过分的杀伤力。必须能够重新绘制单个单元格

有人能告诉我如何强制单元格重新绘制其前景吗?

您可以使用控件的方法使图形对象的指定矩形无效。例如:

iGrid1.Invalidate(iGrid1.Cols[0].Cells[1].Bounds);

注意:希望为其前景支持自定义绘制的单元格应具有
iGCustomDrawFlags。应处理其
CustomDrawFlags
属性的前景
标志以及
CustomDrawCellForeground
事件,并包含自定义绘制逻辑。您可以在中找到有关该控件的更多信息。

如果该控件没有单元格的失效方法,不妨尝试一下。(只是分享一个想法,我自己没有试过。)我试过了。很有效,非常感谢!对此我有点惊讶,我希望有一个专门的方法用于细胞,但显然已经没有了。也许作者认为无效是处理这个问题的更现代的方法。这个答案是错误的。您的代码不仅使问题中提出的单个单元格无效。它可以工作,但会使所有单元格失效。放入Debug.Write((字符串)i_Cell.Value);在自定义绘制处理程序中,您将看到网格重绘了所有单元格。