求助一个动态生成的DTPicker控件的问题
窗口代码里面输入以下代码
Dim WithEvents BirthDatePicker As VBControlExtender '日期选择器
Private Sub Form_Load()
Licenses.Add "MSComctl2.DTPicker"
Set BirthDatePicker = Controls.Add("MSComctl2.DTPicker", "BirthDatePicker", Form1)
With BirthDatePicker
.Height = 270
.Width = 1350
.Value = Now - 14 * 365 - 4
.Visible = True
End With
End Sub
运行时 运行到value时总是出现错误 说不支持该属性或方法
把这一句变成注释后可以正常运行
但是方法中却没有Change()这一项 只有很少的几项
导致我没办法初始化日期 也没有办法判断是否发生更改
不知道是发生了什么错误
最近一直都是用代码生成控件的 都快被搞疯了
求助于各位大侠帮忙 小弟在此谢谢了
[解决办法]
VBControlExtender 是没有 Value 属性的。
Option ExplicitDim WithEvents BirthDatePicker As VBControlExtenderPrivate Sub Form_Load() Dim dtp As Object Licenses.Add "MSComctl2.DTPicker" Set BirthDatePicker = Controls.Add("MSComctl2.DTPicker", "BirthDatePicker", Form1) With BirthDatePicker .Height = 270 .Width = 1350 .Visible = True End With Set dtp = BirthDatePicker dtp.Value = Now - 14 * 365 - 4End Sub
[解决办法]
Option ExplicitDim WithEvents BirthDatePicker As VBControlExtenderPrivate Sub BirthDatePicker_ObjectEvent(Info As EventInfo) Select Case Info.Name Case "Click" ' 在此处处理 Click 事件。 Case "Change" MsgBox BirthDatePicker.object.Value ' 在这里处理其他情况 Case Else ' 未知事件 ' 在此处理各种未知的事件。 End SelectEnd SubPrivate Sub Form_Load() Licenses.Add "MSComctl2.DTPicker" Set BirthDatePicker = Controls.Add("MSComctl2.DTPicker", "BirthDatePicker", Form1) With BirthDatePicker .Height = 270 .Width = 1350 .object.Value = Now .Visible = True End With End Sub