Foxtable(狐表)用户栏目专家坐堂 → 单元格显示按钮出错


  共有4110人关注过本帖树形打印复制链接

主题:单元格显示按钮出错

帅哥哟,离线,有人找我吗?
happyft
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1909 积分:16993 威望:0 精华:0 注册:2014/7/29 19:09:00
单元格显示按钮出错  发帖心情 Post By:2022/11/26 17:08:00 [只看该作者]

按帮助一样的方式在表中增加按钮,但drawcell事件执行会出错
If e.Col.name = "删" Then
    e.StartDraw
    If e.MouseHover = False  Then'如果鼠标不在此单元格
        e.Graphics.DrawImage(delimg1, e.x + 3, e.y + 3) '绘制第一个图标
    Else '如果鼠标在此单元格
        e.Graphics.DrawImage(delimg2, e.x + 2, e.y + 2) '绘制第二个图标
    End If
    e.EndDraw
End If

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,生产日报自动车_明细,DrawCell
详细错误信息:
调用的目标发生了异常。
值不能为 null。
参数名: image

全局代码图标都复制到指定的目录了,会是什么原因呢,谢谢!


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/26 17:40:00 [只看该作者]

图标文件肯定不存在。复制到项目里的images目录

 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1909 积分:16993 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2022/11/26 18:18:00 [只看该作者]

已经复制了,找到原因了,直接用全局代码中已赋值变量就是空空值导致出错,用红色的在绘制时才获取就没问题
If e.Col.name = "生成品质异常单" Then
    e.StartDraw
    If e.MouseHover = False Then'如果鼠标不在此单元格
        e.Graphics.DrawImage(GetImage("addimage.png"), e.x, e.y) '绘制第一个图标
        'e.Graphics.DrawImage(addimg1, e.x, e.y) '绘制第一个图标
    Else '如果鼠标在此单元格
        e.Graphics.DrawImage(GetImage("addimage2.png"), e.x + 1, e.y + 1) '绘制第二个图标
        ' e.Graphics.DrawImage(addimg2, e.x + 1, e.y + 1) '绘制第二个图标
    End If
    e.EndDraw
End If
下面是全局代码
Public addimg1 As Image = GetImage("addimage.png") '双击新增按钮
Public addimg2 As Image = GetImage("addimage2.png") '双击新增按钮
应该是程序bug,用addimg1显示其宽高等属性出错
Dim img As Image = addimg1 
OutPut.Show(img.Height)
上面两行代码运行出错

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107024 积分:544351 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/27 20:04:00 [只看该作者]

不要在全局代码里直接给变量赋值

全局代码
Public addimg1 As Image 
Public addimg2 As Image 

AfterOpenProject事件
addimg1  = GetImage("addimage.png") 
addimg2  = GetImage("addimage2.png")


 回到顶部
帅哥哟,离线,有人找我吗?
HappyFt
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1909 积分:16993 威望:0 精华:0 注册:2014/7/29 19:09:00
  发帖心情 Post By:2022/11/27 22:11:00 [只看该作者]

这样是可以了,那应该把帮助文件中改一下,不然有时真的很难找到错误,
谢谢!

 回到顶部