问, ctype 函数的使用

ykwang 2004-10-04 11:28:16
我想遍历 FORM1中的 TEXTBOX 控件.为什么如下不行?
For a = 1 To 11
CType(Me.Controls("textbox" & a), TextBox).Text = ""
Next
说是无法转换到 integer 型.
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykwang 2004-10-05
  • 打赏
  • 举报
回复
但是只要写一遍,以后控制就方便了
leezjs 2004-10-04
  • 打赏
  • 举报
回复
CType(Me.Controls("textbox" & a.Tostring()), TextBox).Text
dofly 2004-10-04
  • 打赏
  • 举报
回复
你还不如直接写方便了
你算一下,代码也不少了呀
ykwang 2004-10-04
  • 打赏
  • 举报
回复
终于找到好办法了:
dim text(4) as control
text(0)=textbox1
text(1)=textbox2
text(2)=textbox3
text(3)=textbox4
for a=0 ro 4
text(a).text=""
next
就可以了 谢谢 大家
dofly 2004-10-04
  • 打赏
  • 举报
回复
For Each O as Object In Me.Controls
if Typeof O is TextBox and o.name = "TextBox1" then
.......
End if
Next
ykwang 2004-10-04
  • 打赏
  • 举报
回复
那如何遍历 里面的TEXTBOX1-TEXTBOX5 ?
水如烟 2004-10-04
  • 打赏
  • 举报
回复
至于你现在这种用法的出错原因,是Me.Controls(Index)只接受控件索引值,不接受控件名
水如烟 2004-10-04
  • 打赏
  • 举报
回复
你的思路错了。
Me.Controls里头的控件是好种多样的,应该是用它的基类遍历,这个基类就是Control
遍历过程中来获取它的类型,如果是TextBox,才用CType.举例如下:
Dim Ctr As Control
For Each Ctr In Me.Controls
If TypeOf Ctr Is TextBox Then
CType(Ctr, TextBox).Text = ""
End If
Next

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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