如何实现控件数组的引用,不想在窗体中控件的事件写代码,因为这些代码都一样.

siyunying 2002-06-01 06:53:50
'Class1.cls
Private WithEvents txt As TextBox
Property Set TextBox(obj As Object)
Set txt=obj
End Property
Private Sub txt_Change()
if not IsNumeric(txt) then txt=""
End Sub

'Form1
Dim clstxt1 As New Class1
Dim clstxt2 As New Class1
Private Sub Form_Load()
set clstxt1.TextBox=Me.Text1
Set clstxt2.TextBox=Me.Text2
End Sub
这样我可以不在窗体中写Text1,Text2的Change过程,也可以实现对他们的处理
但是如果Text3(0),Text3(1)这样的控件数组就不能这样,
如何在类中实现控件事件的集中处理??



...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
siyunying 2002-06-02
  • 打赏
  • 举报
回复
To IsMe()
根本无法编译
IsMe 2002-06-02
  • 打赏
  • 举报
回复
楼上的不对,你的类中的txt,仅仅是保持了对最后一次赋值的Textbox的引用,只能接受最后一次赋值的textbox的事件
这类问题,如果使用纯VB处理,我认为只有回调一途
siyunying 2002-06-02
  • 打赏
  • 举报
回复
To:wenw(阿文)
如果你实际运行一下你就会发现你这样是不可能的.
根本无法编译
发生错误.
wenw 2002-06-02
  • 打赏
  • 举报
回复
这是很简单的问题呀。
'Class1.cls
Private WithEvents txt As TextBox
Property Set TextBox(obj As Object)
Set txt=obj
End Property
Private Sub txt_Change()
if not IsNumeric(txt) then txt=""
End Sub

'Form1
Dim clstxt1 As New Class1
Private Sub Form_Load()
dim i as long
for i=0 to 1
set clstxt1.TextBox=Me.Text1(i)
next
End Sub
zyjnb 2002-06-02
  • 打赏
  • 举报
回复
Bardo好象给你回复了:“用类向导创建一个基于你的类的集合”
你去看看!
siyunying 2002-06-02
  • 打赏
  • 举报
回复
没人会,还是没人看到我的问题.
我的第一个问题,就没人看一下,哪怕up也可以

1,451

社区成员

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

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