vb里自定义的一个简单usercontrols,定义成变量后无法引用所有属性?(有源代码)
自定义一个usercontrol。名字为Datepickers_ex,想解决VB中的datepicker无法显示空白日期的问题。
做好后在窗体中引用:
function setDate(objectDate as Datepickers_ex)
objectDate. ///!!!!问题在这里,后边无法显示所有属性,连Left都没有,只有自定义的属性和函数。
end function
但是不定义为变量,直接引用就可以(比如Datepickers_ex.left)
问题点数:50、回复次数:6Top
1 楼pweixing(幸运星)回复于 2005-04-04 14:49:30 得分 0
关注!Top
2 楼homezj(小吉)回复于 2005-04-04 15:39:49 得分 50
用户控件的属性、方法、事件分为两部分,一个是自定义的,一个是控件容器的扩展对象提供的,
象Left、Top等属于后者,而控件容器的扩展对象是后期绑定的,所以在设计时VB IDE不能预知可能的使用,只在运行时才检查:如果可用,就执行。
这有点象Object对象,如:
Dim obj As Object
Set obj = Picture1
obj.Picture = LoadPicture()
你输入obj.的时侯不会找到Picture属性,但运行时是没问题的Top
3 楼bygones2001(小丸子的老公)回复于 2005-04-04 16:03:12 得分 0
Dim obj As SFDatePicker
MsgBox obj.Left
显示未找到数据成员或方法!!!!!!
怎么办???
在控件的属性列表中是有此属性的啊Top
4 楼bygones2001(小丸子的老公)回复于 2005-04-04 16:06:32 得分 0
Private Sub Form_Load()
test SFDatePicker1
End Sub
Function test(obj As SFDatePicker)
Dim object_date As Object
Set object_date = obj
MsgBox obj.Left
End Function
这么写也不行Top
5 楼homezj(小吉)回复于 2005-04-04 16:24:39 得分 0
想引用扩展对象属性与自定义属性的方法是不同的,你可这样:
Function test(obj As VBControlExtender)
Dim object_date As VBControlExtender
Set object_date = obj
MsgBox object_date.Left
End FunctionTop
6 楼bygones2001(小丸子的老公)回复于 2005-04-04 17:00:15 得分 0
谢谢小吉,马上揭帖Top




