晕,太难了吧,winform下datagrid的问题

ljb2000 ljb2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
DataGridTextBoxColumn 里有这样一个受保护的方法 Paint
如果想调用Paint方法 必须定义一个继承于DataGridTextBoxColumn的对象
MSDN里有例子代码 代码简化后如下
这样写编译时并不报错 但是执行时会报错.
错误提示是"指定的转换无效"
dgt.GridColumnStyles[hi.Column]返回的类型是DataGridTextBoxColumn
当我想把DataGridTextBoxColumn转换成MyGridColumn时
就失败了 这是为什么呀?
DataGridTextBoxColumn gridCol =(DataGridTextBoxColumn)dgt.GridColumnStyles[hi.Column];
这样写是没问题的

public class Form1: Form
{
private void PaintCell(object sender, MouseEventArgs e)
{
MyGridColumn gridCol =(MyGridColumn)dgt.GridColumnStyles[hi.Column];
gridCol.PaintCol(g, cellRect, cm, hi.Row, bBrush, fBrush, false);
}
}

public class MyGridColumn:DataGridTextBoxColumn
{
public void PaintCol(Graphics g, Rectangle cellRect,
CurrencyManager cm, int rowNum, Brush bBrush,
Brush fBrush, bool isVisible)
{
this.Paint(g, cellRect, cm, rowNum, bBrush, fBrush, isVisible);
}
}
...全文
评论 6
收藏 已收藏
分享
返回顶部
ljb2000
C# 111,128 成员 642,536 内容