Vb.net 更改splashscreen中的文本
我在VB.Net中创建了一个splashscreen,除了我想用多个文本来更改加载文本,这些文本在加载过程中每x秒更改一次之外,其他一切都很完美 示例:Vb.net 更改splashscreen中的文本,vb.net,timer,splash-screen,Vb.net,Timer,Splash Screen,我在VB.Net中创建了一个splashscreen,除了我想用多个文本来更改加载文本,这些文本在加载过程中每x秒更改一次之外,其他一切都很完美 示例:Dim LoadingTexts As String={“charging 1…”、“charging 2…”、“info1…” 我不知道我如何才能做到这一点,除了事实上,我肯定要使用计时器。。。但是怎么做呢 实际代码: Public Class frmSplashScreen Private stringTable() As Strin
Dim LoadingTexts As String={“charging 1…”、“charging 2…”、“info1…”
我不知道我如何才能做到这一点,除了事实上,我肯定要使用计时器。。。但是怎么做呢
实际代码:
Public Class frmSplashScreen
Private stringTable() As String = {"Shovelling coal into the server...", "Programming the flux capacitor...", _
"Searching for answer to live, the universe and everything...",
"Waiting for Godot...", "Starting..."}
Private stringMove As Integer = 0
Sub New()
InitializeComponent()
End Sub
Public Overrides Sub ProcessCommand(ByVal cmd As System.Enum, ByVal arg As Object)
MyBase.ProcessCommand(cmd, arg)
End Sub
Public Enum SplashScreenCommand
SomeCommandId
End Enum
Public Sub SplashTimer_Tick(sender As Object, e As EventArgs) Handles SplashTimer.Tick
Me.SplashTimer.Enabled = False
Me.labelStarting.Text = stringTable(stringMove)
Me.labelStarting.Refresh()
stringMove += 1
If stringMove < stringTable.Length Then Me.SplashTimer.Enabled = True
End Sub
End Class
公共类frmSplashScreen
Private stringTable()作为字符串={“将煤炭铲入服务器…”,“对通量电容器进行编程…”_
“寻找生命、宇宙和一切的答案……”,
“等待戈多…”,“开始…”
私有字符串作为整数移动=0
次新
初始化组件()
端接头
Public重写子ProcessCommand(ByVal cmd作为System.Enum,ByVal arg作为Object)
MyBase.ProcessCommand(cmd,arg)
端接头
公共枚举命令
某物指挥官
结束枚举
公共子SplashTimer_Tick(发送方作为对象,e作为事件参数)处理SplashTimer.Tick
Me.SplashTimer.Enabled=False
Me.labelStarting.Text=stringTable(stringMove)
Me.labelStarting.Refresh()
stringMove+=1
如果stringMove
谢谢。如果需要每X秒更改一次,请使用计时器。更改标签的
.Text
属性:
Dim iLoadText As Integer = 0
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Label1.Text = LoadingTexts(iLoadText)
Label1.Refresh()
iLoadText += 1
If iLoadText < LoadingTexts.Length Then Timer1.Enabled = True
End Sub
Dim iLoadText作为整数=0
私有子Timer1\u Tick(发送方作为对象,e作为事件参数)处理Timer1.Tick
Timer1.Enabled=False
Label1.Text=加载文本(iLoadText)
Label1.Refresh()
iLoadText+=1
如果iLoadText
如果需要每X秒更改一次,请使用计时器。更改标签的.Text
属性:
Dim iLoadText As Integer = 0
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
Label1.Text = LoadingTexts(iLoadText)
Label1.Refresh()
iLoadText += 1
If iLoadText < LoadingTexts.Length Then Timer1.Enabled = True
End Sub
Dim iLoadText作为整数=0
私有子Timer1\u Tick(发送方作为对象,e作为事件参数)处理Timer1.Tick
Timer1.Enabled=False
Label1.Text=加载文本(iLoadText)
Label1.Refresh()
iLoadText+=1
如果iLoadText
假设您有一个计时器、进度条、按钮和标签,并且进度条的步长值设置为10,那么您的代码可能如下所示:公共类表单1
Private Sub butStart_Click(sender As System.Object, e As System.EventArgs) Handles butStart.Click
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(ProgressBar1.Step) 'use method below as well
'ProgressBar1.Value+=ProgressBar1.Step
Me.Refresh()
If ProgressBar1.Value >= 0 AndAlso ProgressBar1.Value < 35 Then
Label1.Text = ProgressBar1.Value & "% Starting"
Me.Refresh()
ElseIf ProgressBar1.Value >= 35 AndAlso ProgressBar1.Value < 75 Then
Label1.Text = ProgressBar1.Value & "% Mid value"
Me.Refresh()
ElseIf ProgressBar1.Value >= 75 AndAlso ProgressBar1.Value < 100 Then
Label1.Text = ProgressBar1.Value & "% Finishing"
Me.Refresh()
ElseIf ProgressBar1.Value = 100 Then
Timer1.Enabled = False
'Move to next form or something
End If
End Sub
Private Sub-butStart\u单击(发送方作为System.Object,e作为System.EventArgs)处理butStart。单击
Timer1.Enabled=True
端接头
私有子Timer1_Tick(发送方作为System.Object,e作为System.EventArgs)处理Timer1.Tick
ProgressBar1.Increment(ProgressBar1.Step)也可以使用下面的方法
'ProgressBar1.Value+=ProgressBar1.Step
我
如果ProgressBar1.Value>=0,并且ProgressBar1.Value<35,则
Label1.Text=ProgressBar1.Value&%Starting
我
ElseIf ProgressBar1.Value>=35,并且同样ProgressBar1.Value<75
Label1.Text=ProgressBar1.Value&%Mid Value
我
ElseIf ProgressBar1.Value>=75,并且ElseIf ProgressBar1.Value<100
Label1.Text=ProgressBar1.Value&%Finishing
我
ElseIf ProgressBar1.Value=100然后
Timer1.Enabled=False
“转到下一个表格或别的什么
如果结束
端接头
End Class
假设您有一个计时器、进度条、按钮和标签,并且进度条的步长值设置为10,那么您的代码可能如下所示:公共类表单1
Private Sub butStart_Click(sender As System.Object, e As System.EventArgs) Handles butStart.Click
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(ProgressBar1.Step) 'use method below as well
'ProgressBar1.Value+=ProgressBar1.Step
Me.Refresh()
If ProgressBar1.Value >= 0 AndAlso ProgressBar1.Value < 35 Then
Label1.Text = ProgressBar1.Value & "% Starting"
Me.Refresh()
ElseIf ProgressBar1.Value >= 35 AndAlso ProgressBar1.Value < 75 Then
Label1.Text = ProgressBar1.Value & "% Mid value"
Me.Refresh()
ElseIf ProgressBar1.Value >= 75 AndAlso ProgressBar1.Value < 100 Then
Label1.Text = ProgressBar1.Value & "% Finishing"
Me.Refresh()
ElseIf ProgressBar1.Value = 100 Then
Timer1.Enabled = False
'Move to next form or something
End If
End Sub
Private Sub-butStart\u单击(发送方作为System.Object,e作为System.EventArgs)处理butStart。单击
Timer1.Enabled=True
端接头
私有子Timer1_Tick(发送方作为System.Object,e作为System.EventArgs)处理Timer1.Tick
ProgressBar1.Increment(ProgressBar1.Step)也可以使用下面的方法
'ProgressBar1.Value+=ProgressBar1.Step
我
如果ProgressBar1.Value>=0,并且ProgressBar1.Value<35,则
Label1.Text=ProgressBar1.Value&%Starting
我
ElseIf ProgressBar1.Value>=35,并且同样ProgressBar1.Value<75
Label1.Text=ProgressBar1.Value&%Mid Value
我
ElseIf ProgressBar1.Value>=75,并且ElseIf ProgressBar1.Value<100
Label1.Text=ProgressBar1.Value&%Finishing
我
ElseIf ProgressBar1.Value=100然后
Timer1.Enabled=False
“转到下一个表格或别的什么
如果结束
端接头
结束类
使用计时器更改开始…
标签的文本
属性。不要忘记调用DoEvents
更改启动…
标签的文本属性。别忘了调用DoEvents
什么不起作用?抛出错误吗?什么都不做?你已经开始计时了吗?(默认设置为Enabled=False
)抱歉,我发布了我的代码以提供更多详细信息。默认情况下,我的计时器在Enabled=True
上,但它保持在上“启动…”
我将尝试使用控制台。Writeline
查看计时器是否正常使用控制台。Writeline
什么不工作?抛出错误吗?什么都不做?你已经开始计时了吗?(默认设置为Enabled=False
)抱歉,我发布了我的代码以提供更多详细信息。默认情况下,我的计时器在Enabled=True
上,但不在上“Starting…”
我将尝试使用控制台。Writeline
查看计时器是否正常。Writeline
控制台也没有任何问题。顺便说一句,如果这个答案对您有效,请不要忘记将其作为您接受的答案进行检查。也只需拖动窗体上的计时器,添加一个间隔时间,双击它即可访问其滴答事件谢谢您的帮助但我的程序