从“ApplicationEvents.vb”与初始屏幕上的项目交互

时间:2014-01-20 02:00:18

标签: vb.net visual-studio visual-studio-2013

我在Visual Studio中编写一个Visual Basic程序,它有一个带有标签和进度条的闪屏。我想使用ApplicationEvents.vb文件与它们进行交互,您可以在该文件中创建在程序启动时运行的事件。问题是每当我运行程序并尝试运行程序并与这些项目交互时,我每次都会收到此错误。

Visual Studio Program Error

我理解错误是因为我试图访问在另一个线程上运行的控件,所以如何访问此线程以便更改我想要的启动画面?

2 个答案:

答案 0 :(得分:1)

查看我的本教程,了解如何从工作线程访问控件:

http://www.vbforums.com/showthread.php?498387-Accessing-Controls-from-Worker-Threads

您可以使用这些原则在启动画面中实现方法,然后从您喜欢的任何地方调用这些方法。例如,这是一个在启动屏幕上更新ProgressBar的方法,无论它从哪个线程调用:

Public Sub IncrementProgress()
    If Me.InvokeRequired Then
        Me.Invoke(New MethodInvoker(AddressOf IncrementProgress))
    Else
        Me.ProgressBar1.PerformStep()
    End If
End Sub

以下是您可以调用该方法的方法:

DirectCast(My.Application.SplashScreen, SplashScreen1).IncrementProgress()

答案 1 :(得分:-1)

创建表单拖动计时器和进度条到启用计时器的窗体属性为true。

Private Sub Timer1_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs)处理Timer1.Tick         Dim scount As Integer

    scount = 0
    scount = Convert.ToInt32(label1.Text) + 1
    label1.Text = Convert.ToString(scount)
    ProgressBar1.Value = scount
    If (scount = 100) Then



        Timer1.Enabled = False
        Me.Hide()

        Form1.Show()
    End If