简单问题求教

acange 2001-06-02 04:05:00
我有一个Label 控件, 名为 label1.
我想进行如下操作: 想把 string temp 直接用作 label1 的名字:

Private Sub Cmd1_Click()
Dim temp As String
temp = "lable1"
temp.Caption = "how"
End Sub

这是不对的, 如何把 string 内容直接转换为控件的名字压?
谢谢
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
acange 2001-06-05
  • 打赏
  • 举报
回复
Ninputer 2001-06-02
  • 打赏
  • 举报
回复
sorry,回答错误
你可以这样:
For Each c In Me.Controls
If TypeOf c Is VB.Label And c.Name = temp Then
c.Caption
End If
Next

Ninputer 2001-06-02
  • 打赏
  • 举报
回复

CallByName(object, procedurename, calltype,[arguments()])

CallByName 函数的语法有以下部分:

部分 描述
object 必需的;变体型(对象)。函数将要执行的对象的名称。
procedurename 必需的;变体型(字符串)。一个包含该对象的属性名称或者方法名称的字符串表达式。
calltype 必需的;常数。一个 vbCallType 类型的常数,代表正在被调用的过程的类型。
arguments() 可选的:变体型(数组)。


说明

CallByName 函数用于获取或者设置一个属性,或者在运行时使用一个字符串名称来调用一个方法。

在下面的例子中,第一行使用 CallByName 来设置一个文本框的 MousePointer 属性,第二行得到 MousePointer 属性的值,第三行调用 Move 方法来移动文本框:

CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
turbo 2001-06-02
  • 打赏
  • 举报
回复
Dim temp As String
temp = Label1.Name

是这样吗?
zhang_hua268 2001-06-02
  • 打赏
  • 举报
回复
同意liu_feng_fly的观点
liu_feng_fly 2001-06-02
  • 打赏
  • 举报
回复
你可以再定义一个过程呀
Private sub chgcaption(mylbl as label,caption as string)
mylbl.caption=mycaption
end sub
然后
Private Sub Command1_Click()
chgcaption(label1,"how")
end sub
limengchen 2001-06-02
  • 打赏
  • 举报
回复
dim temp as control
set temp=label1
temp.caption="how"
joeking 2001-06-02
  • 打赏
  • 举报
回复
不好意思,这只能用在set temp=new XXX的语句中,我忘了,不过,你可以试试用删除原有控件,再在原处生成一个新控件的方法。
joeking 2001-06-02
  • 打赏
  • 举报
回复
试试dim temp as object
acange 2001-06-02
  • 打赏
  • 举报
回复
我试了, 但仍不对, 问题在于第二句 temp = label1

Private Sub Command1_Click()
Dim temp As Label
temp = "label1"
'temp = label1 // also tried
'temp.name = label1 // also tried

temp.Caption = "how"

End Sub

我的意思是想把一个String, 比如 “label1", 直接用作 Label object (label1) 的名字。。。
rebel_321 2001-06-02
  • 打赏
  • 举报
回复
定义一个label变量temp:
dim temp as label
temp.caption="how"
这样就可以了,你试试看

7,765

社区成员

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

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