Foxtable(狐表)用户栏目专家坐堂 → 升级后出现一个非常奇怪的问题


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

主题:升级后出现一个非常奇怪的问题

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
升级后出现一个非常奇怪的问题  发帖心情 Post By:2013/5/17 15:58:00 [显示全部帖子]

狐爸,

贴上案例:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip



在窗口的Afterload放入下列代码:

MessageBox.Show( Tables("表A").Current("星级评定") )
Select Case  Tables("表A").Current("星级评定")
    Case 4
        p1.Image  = GetImage("star-on.png")
        p2.Image  = GetImage("star-on.png")
        p3.Image  = GetImage("star-on.png")
        p4.Image  = GetImage("star-on.png")
        p5.Image  = GetImage("star-off.png")
    Case 5
        p1.Image  = GetImage("star-on.png")
        p2.Image  = GetImage("star-on.png")
        p3.Image  = GetImage("star-on.png")
        p4.Image  = GetImage("star-on.png")
        p5.Image  = GetImage("star-on.png")
    Case Else
        p1.Image  = GetImage("star-off.png")
        p2.Image  = GetImage("star-off.png")
        p3.Image  = GetImage("star-off.png")
        p4.Image  = GetImage("star-off.png")
        p5.Image  = GetImage("star-off.png")
End Select

只有代码前加上MessageBox.Show( Tables("表A").Current("星级评定") )这段代码后,下面的程序才能生效,否则不生效,升级之前很好的,升级之后就出现这个问题,找不到解决办法,好郁闷啊。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 16:01:00 [显示全部帖子]

也就是说,必须用MessageBox.Show调用一下,Tables("表A").Current("星级评定")才会有值

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 16:09:00 [显示全部帖子]

Bin老师,我直接上图:


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看



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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 16:16:00 [显示全部帖子]

谢谢Bin老师,等您消息。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 17:11:00 [显示全部帖子]

收到,谢谢各位老师
[此贴子已经被作者于2013-5-17 17:10:39编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 17:12:00 [显示全部帖子]

窗口BeforeClose中的代码也需要添加 Application.DoEvents 这个代码吗?


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/17 17:36:00 [显示全部帖子]

以下是引用don在2013-5-17 16:55:00的发言:
用GDI更簡單:

Dim n As Integer = Tables("表A").Current("星级评定")
if n < 6 then
Dim pt As WinForm.Painter =Forms("窗口1").Controls("Painter1")
Dim img1,img2 As String
img1 ="star-on.png"
img2 ="star-off.png"

Dim g As Graphics = pt.Graphics
g.Clear(Color.White)

For n1 As Integer = 0 To 4
    If  n > 0 Then
        g.DrawImage(getImage(iif(n1< n,img1,img2)),2+16*n1,5,16,16)
    Else
        g.DrawImage(getImage(img2),2+15*n1,5,16,16)
    End If
Next
pt.Repaint()

End if

Don老师,您这个方法真的很好,但是有一个问题:在修改星级评定的时候,我是通过点击图标来实现的(点击第几个图标就是几颗星),如果用您这个方法如何通过点击图标来改变星级评定

[此贴子已经被作者于2013-5-17 17:36:28编辑过]

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4155 威望:0 精华:0 注册:2012/11/26 21:54:00
  发帖心情 Post By:2013/5/18 12:28:00 [显示全部帖子]

狐爸,我发现有好多地方都有这个问题(可能跟我的编程习惯有关系),请问每次都要加Application.DoEvents这个代码吗,以后升级会改进吗?

 回到顶部