动态加载控件后如何调用控件的方法或属性。用Controls.Add方法只能用控件的通用的属性或方法

fhawk 2004-04-06 11:17:36
如题,我用.Net编写了一个Assembly,现在VB中调用。代码如下:
On Error GoTo ErrDeal
Dim test //第2行
Set test = Me.Controls.Add("WindowsControlLibrary1.UserControl1", "test", Me)
test.Visible = True
test.Left = 10
test.Top = 20
MsgBox test.GetIntValue //出错
Exit Sub
ErrDeal:
MsgBox Err.Description
出错行提示:Object doesn't support this method or property!,如果在第二行进行修改,声明为dim test as WindowsControlLibrary1.UserControl1,则会在下面的一行中出现错误(Type mismatch)请问这是为什么呢,哪们大侠中以告诉我一下吗,谢谢!

...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhawk 2004-04-06
  • 打赏
  • 举报
回复
如果在模块中声明的话,会出现Compile error,object does not source automation events的错误。如果对于一个像CommonDialog这样的VB原有控件来说在过程中声明也是可以的,如:
Dim cdlgSlt As CommonDialog
Set cdlgSlt = Me.Controls.Add("MSComDlg.CommonDialog", "Test", Me)
cdlgSlt.ShowOpen
这么做是完全正常的,只是用.Net编写的WindowsControlLibrary时会出现这样的问题。我怀疑是不是应该做一些其它工作
华芸智森 2004-04-06
  • 打赏
  • 举报
回复
将test放在模块中声明为事件.不能在过程中声明.
例如:
Dim WithEvents test As VB.TEXTBOX
fuanwei 2004-04-06
  • 打赏
  • 举报
回复
text1(4).text=""

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧