首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

如何调用用字符串代替的方法和名字

2012-01-11 
怎么调用用字符串代替的方法和名字怎么调用用字符串代替的方法和名字,比如语句textbox1.Left0怎么实现如

怎么调用用字符串代替的方法和名字
怎么调用用字符串代替的方法和名字,比如
语句   textbox1.Left=0
怎么实现如下类似语句:
  i=1
  "textbox "   &   cstr(i).Left=0
  "textbox "   &   cstr(i). "Top "=0
首先声明肯定能实现,我见过可惜忘了,会的帮忙说说。
QQ或者mail都可以ty54@sina.com
分数送给第一个能解决的回复人,只要说出关键就可以。


[解决办法]
Private Sub Timer1_Timer()
ss = ss + 1
x = x + 30 '标签移动值
If ss > = 120 Then ss = 0: x = 0 '循环
CallByName Label1, "Move ", VbMethod, x '用CallByName令标签移动
End Sub

FORM: http://www.zzole.com/Article/program/282/763/2006/2006101113190.html
[解决办法]
你自己看下面几个例子,就会明白了:
先查MSDN:
http://msdn2.microsoft.com/en-us/library/chsc1tx6(VS.80).aspx
然后:
http://www.vb-helper.com/howto_callbyname.html
http://www.insteptech.com/techLibrary/vbClassic/vb6_lang.htm
深一点:
http://gpwiki.org/index.php/VB:Building_a_Better_Scripting_Language_by_Using_Dynamic_Classes
再深一点:
http://www.vbrad.com/article.aspx?id=56

[解决办法]
也可以检测各控件,找到符合指定的控件进行操作
Private Sub Command1_Click()
Dim tc As Control
Dim thec As String
thec = "text1 "
For Each tc In Me.Controls
MsgBox tc.Name '这就可以得到每个控件的名字
If LCase(tc.Name) = LCase(thec) Then tc.Text = "改变控件 ": tc.Left = 0: tc.Top = 0
Next
End Sub
[解决办法]
Dim s As String
s = "text1 "
Me.Controls(s).Left = 1000

热点排行