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