用vb6.0能否把一个以“Label6"字符串为名称的Label转换为Label控件对象?

gkmzk 2011-08-01 05:48:26
用vb6.0能否把一个以“Label6"字符串为名称的Label转换为Label对象?然后可以任意调用Label的属性!
...全文
263 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
王二.麻子 2011-08-06
  • 打赏
  • 举报
回复
用vb6.0能否把一个以“Label6"字符串为名称的Label转换为Label对象?然后可以任意调用Label的属性!

给上面的句子断句..
用vb6.0
能否

一个以“Label6"字符串为名称的Label
转换为
Label对象

"一个以“Label6"字符串为名称的Label"中,"一个以“Label6"字符串为名称"是定语,主语是"Label"

就是lz要把一个lable转换成lable....

为什么....

难道是

Private Sub Form_Load()
Dim a As Label
Set a = Form1.Controls("label6")
End Sub
lauxm 2011-08-05
  • 打赏
  • 举报
回复
没看懂哈,你是想动态创建控件还是啥的啊?
chinaboyzyq 2011-08-05
  • 打赏
  • 举报
回复 1
[Quote=引用 9 楼 gkmzk 的回复:]

哈哈,大家还是没有完全明白我的意图,我其实是想把“Label6"变成Label6,"Label3" 变成Label3而已,不可以吗,有什么好的方法没有?
[/Quote]

也许以下是你想要的(这个叫动态添加控件):

Private Sub Form_Load()
Controls.Add "VB.Label", "Label6"
Me("Label6").BackColor = vbGreen
Me("Label6").Caption = 555
Me("Label6").Move 1000, 1000
Me("Label6").Visible = True
End Sub


chinaboyzyq 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gkmzk 的回复:]

哈哈,大家还是没有完全明白我的意图,我其实是想把“Label6"变成Label6,"Label3" 变成Label3而已,不可以吗,有什么好的方法没有?
[/Quote]

不是变成,可用字符串"label6"操作实际有的label6
me("label6").caption="xxxx"
jhone99 2011-08-05
  • 打赏
  • 举报
回复 1
Private Sub Command1_Click()
Call sub_tt("label1", "ok")
End Sub

Private Sub sub_tt(ByVal strLabelName As String, ByVal strCaption As String)
Me.Controls(strLabelName).Caption = strCaption
End Sub
gkmzk 2011-08-05
  • 打赏
  • 举报
回复
哈哈,大家还是没有完全明白我的意图,我其实是想把“Label6"变成Label6,"Label3" 变成Label3而已,不可以吗,有什么好的方法没有?
worldy 2011-08-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 gkmzk 的回复:]
用vb6.0能否把一个以“Label6"字符串为名称的Label转换为Label对象?然后可以任意调用Label的属性!
[/Quote]


Private Sub Form_Load()
Dim Lbl As Label

Set Lbl = Controls.Add("VB.Label", "Lable1")
Lbl.Move 100, 100, 1000, 300
Lbl.Caption = "ABCD"
Lbl.Visible = True
End Sub
懒人想做的事 2011-08-04
  • 打赏
  • 举报
回复
楼主大概的意思是:

if instr([control].name,"label")>0 then

set [control]=vb.lable
endif


我还是路过吧:)
  • 打赏
  • 举报
回复
我的意思是要把字符串"label6"变成控件label6???
老母鸡变鸭
苦苦的潜行者 2011-08-02
  • 打赏
  • 举报
回复
面对一个非vb的程序,我如何做到更改他的控件属性,例如有些程序,的按钮是禁用的,我获取他的句柄,然后将按钮的enable属性改成true
lz大概是这个意思.
无·法 2011-08-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gkmzk 的回复:]

引用 1 楼 patrickkong 的回复:
dim lbl as label

set lbl = Label6
为什么要这样做?

这位兄掌,我不这个意思,我的意思是要把字符串"label6"变成控件label6,然后才可以获取label6的Caption,Left等属性值!
[/Quote]为什么要这样做?你描述的非常不专业,大家误解是正常的,只有从了解你的问题背景入手了。
gkmzk 2011-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 patrickkong 的回复:]
dim lbl as label

set lbl = Label6
为什么要这样做?
[/Quote]
这位兄掌,我不这个意思,我的意思是要把字符串"label6"变成控件label6,然后才可以获取label6的Caption,Left等属性值!
贝隆 2011-08-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 patrickkong 的回复:]
dim lbl as label

set lbl = Label6
为什么要这样做?
[/Quote]
+1
  • 打赏
  • 举报
回复
dim lbl as label

set lbl = Label6
为什么要这样做?
rivate Sub cmdAdd_Click() Dim str1 As String Dim cnn As New ADODB.Connection '数据库连接 If cmdAdd.Caption = "新增" Then '按钮为“新增”状态 cmdAdd.Caption = "保存" '修改按钮标题为“保存”,提示用户保存数据 cmdCancel.Visible = True '显示“取消”按钮 lstbus.Enabled = False '禁止用户操作列表框 LockControl (False) '允许用户操作窗口中部分控件 txtbus.Text = "" '清除“线路名”文本框 txtBeginEnd.Text = "" '清除“运行区间”文本框 cmbTickType.Text = "无人售票" '设置售票类型的默认值 cmbPrice.Text = "上车一元" '设置票价的默认值 optIC2.Value = True '设置不支持IC卡 txtRuntime.Text = "" '清除“运行时间”文本框 txtCompany.Text = "" '清除“公交公司”文本框 txtMemo.Text = "" '清除“备注”文本框 Else If Not CheckInput Then Exit Sub '调用CheckInput函数检查输入数据 cmdAdd.Caption = "新增" '修改按钮标题为“新增” cmdCancel.Visible = False '隐藏“取消按钮" lstbus.Enabled = True '允许用户操作列表框 LockControl (True) '锁定窗口中部分控件 '定义新增数据的SQL语句 str1 = "INSERT INTO [BUS]([bus],[beginend],[ticktype],[price]" str1 = str1 + ",[ic],[runtime],[company],[memo]) VALUES(" 'INSERT INTO语句 str1 = str1 + "'" + txtbus.Text + "','" '线路名 str1 = str1 + txtBeginEnd.Text + "','" '运行区间 str1 = str1 + cmbTickType.Text + "','" '售票类型 str1 = str1 + cmbPrice.Text + "'," '票价 If optIC1.Value Then '是否支持IC卡 str1 = str1 + "true,'" '支持 Else str1 = str1 + "false,'" '不支持 End If str1 = str1 + txtRuntime.Text + "','" '运行时间 str1 = str1 + txtCompany.Text + "','" '公交公司 str1 = str1 + txtMemo.Text + "')" '备注 cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 cnn.Execute (str1) '执行INSERT INTO语句插入数据 cnn.Close '关闭数据库连接 Form_Load '调用窗体装载事件代码,重新将线路信息显示在列表框中 End If End Sub Private Sub cmdCancel_Click() '“取消”按钮放弃输入的值 lstbus.Enabled = True '允许用户操作列表框 cmdCancel.Visible = False '隐藏“取消”按钮,使其不可见 cmdAdd.Caption = "新增" '修改“保存”按钮标题为“新增” LockControl (True) '锁定窗口中部分控件 lstbus_Click '调用列表框的单击事件代码 End Sub Private Sub cmdExit_Click() '退出当前窗体 Dim ret As Integer If cmdAdd.Caption = "保存" Then '判断是否有输入的信息未保存 ret = MsgBox("新增数据还未保存,是否退出?", vbQuestion + vbYesNo) '获取用户的选择 If ret = vbNo Then '选择“否” Exit Sub '退出当前过程,则不退出当前窗体 End If End If Unload Me '退出当前窗体 End Sub Private Sub Form_Load() '窗体初始化代码 Dim cnn As New ADODB.Connection '定义数据库连接变量 Dim rst As New ADODB.Recordset '定义记录集变量 LockControl (True) '锁定窗口中部分控件 cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 Set rst.ActiveConnection = cnn '设置记录集的数据库连接 rst.Open "SELECT [bus] FROM [bus]" '打开记录集,得到线路名数据 lstbus.Clear '清除列表框中原有内容 Do While Not rst.EOF '循环处理记录集中的数据 lstbus.AddItem rst(0).Value '将线路名添加到列表框中 rst.MoveNext '处理下一记录 Loop If lstbus.ListCount > 0 Then '列表框中有数据 lstbus.ListIndex = 0 '选中第1个数据 End If rst.Close '关闭记录集 cnn.Close '关闭数据库连接 End Sub Private Sub Label2_Click() End Sub Private Sub Label8_Click() End Sub Private Sub lstbus_Click() '单击列表框时,更新右侧的显示数据 Dim cnn As New ADODB.Connection '定义数据库连接 Dim rst As New ADODB.Recordset '定义记录集 Dim str1 As String, str2 As String '临时字符串变量 str1 = lstbus.List(lstbus.ListIndex) '获取列表框中的选中项(可介绍一下列表框) cnn.ConnectionString = Conn '设置数据库连接字符串 cnn.Open '打开数据库连接 Set rst.ActiveConnection = cnn '设置记录集的数据库连接 str2 = "SELECT * FROM [BUS] WHERE BUS='" & Trim(str1) & "'" '定义查询字符串 rst.Open str2 '打开记录集 If Not rst.EOF Then '若记录集不为空,显示内容 'gID = rst("id") '记录关键字 txtbus.Text = rst("bus") '线路名 txtBeginEnd.Text = rst("beginend") '运行区间 cmbTickType.Text = rst("ticktype") '售票类型 cmbPrice.Text = rst("price") '票价 If rst("ic") = True Then '支持IC卡 optIC1.Value = True Else '不支持IC卡

7,765

社区成员

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

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