以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  控件Picturebox的Beforegetimage事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59228)

--  作者:lesliecheung912
--  发布时间:2014/10/31 9:13:00
--  控件Picturebox的Beforegetimage事件
控件Picturebox的Beforegetimage事件是在什么情况下触发呢?
现在表中默认不加载数据,当检索某条数据时,按照设计是应该显示图片的,为什么图片都不显示呢?
如果在有数据时,打开窗口图片就会显示。
那么如果想要在查询时显示图片应该如何做?
BeforeGetImage事件:
Dim pbx As WinForm.PictureBox = e.Sender
Dim r As Row = Tables("结案总表").Current
If r IsNot Nothing Then
    If r("标记") = 1 Then
        e.File = "123.jpg" \'显示已审核印章图片
    Else
        e.File = "" \'不显示图片
    End If
Else
     e.File = "" \'不显示图片
End If

--  作者:有点甜
--  发布时间:2014/10/31 9:21:00
--  

 不理解你什么意思,只要需要显示图片前才会触发的。

 

 

你至少你得先给picturebox赋值image啊
--  作者:lesliecheung912
--  发布时间:2014/10/31 9:28:00
--  
Picturebox已经赋值了啊,已经给它加了特定的图片,然后用标记去控制的嘛

我设计了一个Button,代码为:

Tables("表A").Current("标记") = 1 

那么点了此按钮,也会出发Picturebox的Beforegetimage事件,因此图片就会显示

但是如果数据初始不加载,然后去查询刚刚处理的这条数据时,数据能够显示出来,但是图片不予显示

所以我就在想是不是查询时没有触发Picturebox的Beforegetimage事件呢?
[此贴子已经被作者于2014-10-31 9:28:58编辑过]

--  作者:有点甜
--  发布时间:2014/10/31 9:30:00
--  
 例子...
--  作者:lesliecheung912
--  发布时间:2014/10/31 9:48:00
--  
简单的做了个例子,麻烦您看下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片显示不正确.rar



--  作者:有点甜
--  发布时间:2014/10/31 9:59:00
--  

 代码写在表的currentChanged事件

 


Dim r As Row = Tables("表A").Current
If Forms("窗口1").Opened Then
    Dim pbx As WinForm.PictureBox = Forms("窗口1").Controls("PictureBox1")
    If r IsNot Nothing Then
        If r("标记") = "1" Then
            pbx.Image = getimage("111.jpg") \'显示已审核印章图片
        Else
           pbx.Image = Nothing \'不显示图片
        End If
    Else
        pbx.Image = Nothing \'不显示图片
    End If
End If


--  作者:lesliecheung912
--  发布时间:2014/10/31 10:12:00
--  
谢谢甜姐!