BeforeGetImage

在显示图片前执行。

e参数属性:

Sender:返回触发事件的控件
Form: 返回控件所在的窗口
File:字符型,返回或设置即将显示的图片文件名称。

利用此事件,可以灵活将数据和图片联动起来。

示例一

假定订单表中有一个名为“审核”的逻辑列,现在设计一个录入窗口,希望对于已经审核的订单,录入窗口能够自动显示一个审核印章:

设计步骤:

1、首先设计一个背景透明的印章图片,假定文件名为“已审核.png”。
2、将设计好的印章图片复制到项目文件目录下的Images子目录中。
3、在窗口中插入一个PictureBox控件,将其绑定到订单表的审核列,并将其背景颜色设置为Transparent(透明)。
4、将PictureBox控件的BeforeGetImage事件代码设置为:

Dim pbx As WinForm.PictureBox = e.Sender
Dim
r As Row = Tables("订单").Current
If r IsNot Nothing Then

    If
r("审核") = True Then
        e.File =
"
已审核.png" '显示已审核印章图片
    Else

        e.File = ""
'不显示图片

    End
If
Else

     e.File = ""
'不显示图片

End If

示例二

假定库存表中有一个到期日期列,希望在录入窗口中能够用图片提示已经到期和即将到期的产品。

设计步骤:

1、将设计好的图片复制到项目文件目录下的Images子目录中,假定文件名分别是“已过期.png”和“未过期.png"
2、在窗口中插入一个PictureBox控件,将其绑定到库存表的到期日期列,并将其背景颜色设置为Transparent(透明)。
3、将PictureBox控件的BeforeGetImage事件代码设置为:

Dim pbx As WinForm.PictureBox = e.Sender
Dim
r As Row = Tables("订单").Current
If r IsNot Nothing Then

    If
r.IsNull("到期日期") = False Then
        Dim dt As Date = r(
"
到期日期")
        Dim n As Integer = (dt - Date.Today).TotalDays
        If n <= 0  Then
'
如果已经过期
           e.File =
"
已过期.png"
        ElseIf n <= 10 Then
'
如果10天内到期
            e.File =
"
将过期.png"
        Else
            e.File = ""
'不显示图片
   
    End
If

    Else

   
    e.File = ""
    End
If
Else
     e.File = ""
'不显示图片

End If


本页地址:http://www.foxtable.com/webhelp/topics/2514.htm