VB中关于用一个label控件来控制另一个label控件组的问题。

如图所示,左上方的检修线路短路器是一个label控件,下方的检修I段母线而是一个label控件,当点击左上方检修线路短路器的label控件时候,会出现右方的下一步按钮以及下方的用于解释说明的label控件组,每单击一次下一步,下方的内容就会改变。与此同时,当单击下一步的过程中,单击左上方的检修线路短路器的时候,会使下一步按钮下方的内容重新返回第一次输出的内容。
疑惑得地方就在于我不知道怎么在左上方的label控件里边怎么编写代码使下一步下边的内容返回初始内容。望解答。
图中控件的名称已经写明,望用程序尽量做详细的说明,谢谢

1,设置一个字符串数组,例如:有5个步骤,就是:而且是模块级变量
Private MsgStr(1 To 5) As String
Private CurNum As Integer
2,思路;
每次单击:“检修线路短路器:对应的Label控件,就在该控件的单击事件里,编写代码:
CurNum = 1 '设置显示提示文字的数组的下标
同时显示[下一步]按钮
使得[下一步]按钮下面的标签显示 MsgStr(CurNum)的文本
3,每单击1次[下一步]按钮
CurNum = CurNum + 1
标签显示 MsgStr(CurNum)的文本追问

非常谢谢,谢谢码这么多字,我认真看了也挺不错,可惜没办法再给您财富值,真的很谢谢您

追答

别客气,我对财富无所谓!
对你有帮助就好!

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-21
Public i As Integer '定义个公共变量,控制输出解释的字符
Private Sub Command4_Click()
i = i + 1
Call Out(i)
End Sub
Private Sub Form_Load()
Label1.Visible = False
Command4.Visible = False
End Sub
Private Sub Label2_Click()
Command4.Visible = True
i = 0
Call Out(i)
End Sub
Sub Out(ByVal n As Integer)
Label1.Visible = True
Label1.AutoSize = True
Select Case n
Case 0
Label1.Caption = "检修断路器过程请先断开断路器"
Case 1
Label1.Caption = "请确认断路器已断开"
Case 2
Label1.Caption = "检修开始"
End Select
End Sub
因为我不知道你的下一步有多少说明,只帮你列了三个,如果多的话你可以将sub out 里面的case 结构按我的格式往下多下几个,本人亲测可用,望楼主采纳!追问

太感谢您的回答了,初步实现了所要的功能。这里还有几个问题望给解答下。

问题一、通过以上代码实行了八步,我想在case》7的时候从新开始返回执行case=0的内容,该如何写下面的代码。

问题二、我想在label3内也执行于label2大致相同的内容过程,在label显示于上一次不一样的文字,该如何声明变量,以及有那些需要注意的地方,望用程序详解之,不胜感激,在下拜谢!

追答

Call Out2(i)
Else
Call Out1(i)
End If
End Sub
Private Sub Form_Load()
Label1.Visible = False
Command4.Visible = False
End Sub
Private Sub Label2_Click()
Command4.Visible = True
blnst = True
i = 0
Call Out1(i)
End Sub
Private Sub Label3_Click()
Command4.Visible = True
blnst = False
i = 0
Call Out2(i)
End Sub
Sub Out1(ByVal n As Integer)
Label1.Visible = True
Label1.AutoSize = True
Select Case n
Case 0
Label1.Caption = "检修断路器过程请先断开断路器"
Case 1
Label1.Caption = "请确认断路器已断开"
Case 2
Label1.Caption = "检修开始"
End Select
End Sub
Sub Out2(ByVal n As Integer)
Label1.Visible = True
Label1.AutoSize = True
Select Case n
Case 0
Label1.Caption = "检修母线过程请先断开母线相关部件"
Case 1
Label1.Caption = "请确认相关部件已断开"
Case 2
Label1.Caption = "检修开始"
End Select
End Sub

追问

大神,崇拜死你了,可否有您的qq号码,想跟您长期探讨一下编程方面的问题,您看可以吗

追答

我代码不知道怎么发不完,问题解决了吗

本回答被提问者采纳

VB中label移动的问题!~
要加一个计时器 timer1 Private Sub Form_Load()Timer1.Interval = 100 Timer1.Enabled = True '每100 毫秒检查一次 End Sub Private Sub Timer1_Timer()'利用if语句判断Label的位置 If Label1.Left < Val(Form1.Width) Then 'Label尚未完全左移出窗体时 Label1.Left = Label1.Left + 100...

VB label控件移动问题
1,如果每间隔一段时间增加Left属性,看到的效果就是向右移动。2,如果每间隔一段时间减少Left属性,看到的效果就是向左移动。3,如果每间隔一段时间增加Top属性,看到的效果就是向下移动。4,如果每间隔一段时间减少Top属性,看到的效果就是向上移动。要产生每间隔一段时间,去移动控件,通常用Timer控件...

vb建立一个label的控件数组 点击label(1) 得到一个结果 点击label(2...
建立一个Label()数组,比如是Label1()吧,在程序上建立一个Label1然后把它复制再粘贴就会提示是否建立数组,就点是,我建立了一个Label1数组,该数组中包含3个Label控件,按你说的代码是这样写的 第一种 用 Select Case 代码如下 Private Sub Label1_Click(Index As Integer)Select Case Index C...

vb编程中在控件label1上点击左键移动鼠标使整个窗体也一移动,编码怎么...
添加一个label控件 '窗体代码 Private downx As Long Private downy As Long Private xx As Long Private yy As Long Private MouseDown As Boolean Private Sub label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)downx = X downy = Y MouseDown = True End S...

VB的label控件数组问题,内详谢谢!
Private Sub Form_Load()List1.AddItem "0", 0 List1.AddItem "1", 1 End Sub Private Sub Label1_Click(Index As Integer)If Index = List1 Then Label1(Index).Caption = "好"End Sub 这样绝对可以……

vb中label控件的具体用法?
VB6.0中Label控件的具体用法:Label 控件用来显示文本,但用户不能编辑这些控件。可用此控件标识窗体的对象─ 例如,说明单击控件时将执行何种操作─ 或者在运行时为响应应用程序的事件或进程而显示相应的信息。使用标签的情况很多,而且目的也不相同。通常用标签来标注本身不具有 Caption 属性的控件。例如,...

VB拖动两个控件程序中要知道哪个拖到了另一个哪个里如何编程
if label1(1).left<=label1(2).left+label1(2).width and label1(1).left>=label1(2).left and label1(1).top>=label1(2).top and label1(1).top <=label1(2).top+label1(2).height then temp=label1(1).capiton label1(1).caption=label1(2).caption label1(2).caption=...

在VB中有一个label 一个按钮 怎么编写程序使他在运行时点击按钮时隐藏la...
label的属性中,有一个属性值是可见性,您可以把该按钮的单击的代码里面写上:label1.visible = Not(label1.visible) " lable1 为需要隐藏的控件的名称

单机一个按钮在另外一个地方显示一段文字用vb语言怎么写
'在一个名为Label1的Label(标签)控件中显示文字 Picture1.Print "显示文字" '在一个名为Picture1的PictureBox(图像框)控件中显示文字 Me.Caption = "显示文字" '在当前窗体标题中显示文字 Print "显示文字" '在当前窗体中打印文字 Debug.Print "显示文字" '在立即调试栏中输出调试...

急求一段vb程序中两个label控件的跑马灯代码
'先建个Label1,设置index为0,然后另一个我用代码处理 Dim i As Integer, n As Integer Private Sub Form_Load()n = 1 'n是label的个数-1,就是当n=1时,label个数是2 For x = 1 To n Load Label1(x)With Label1(x).Visible = True .Left = Label1(x - 1).Left + Label1(...

相似回答