You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Basic启动屏幕无法显示问题及代码调试求助

Fixing Your Splash Screen Display Issue

Hey there! I see you're stuck getting your splash screen to show up, even though you've got your combo box logic squared away. Let's walk through how to add a working splash screen to your WinForms app, since your current code doesn't include any logic for that component yet.

First, let's recap the code you've shared so far (for context):

Public Sub New()
    InitializeComponent()
    label2.Visible = False
    label3.Visible = False
    label4.Visible = False
    comboBox1.Items.Add("Uber")
    comboBox1.Items.Add("Subway")
    comboBox1.Items.Add("Bus")
End Sub
Private Sub comboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    If comboBox1.SelectedIndex = 0 Then
        label2.Visible = True
        label3.Visible = True
        label4.Visible = True
    End If
    If comboBox1.SelectedIndex = 1 Then
        label2.Visible = True
        label3.Visible = True
        label4.Visible = False
    End If
    If comboBox1.SelectedIndex = 2 Then
        label2.Visible = True
        label3.Visible = True
        label4.Visible = False
    End If
End Sub

Step 1: Create Your Splash Screen Form

First, add a new Windows Form to your project specifically for the splash screen:

  • Right-click your project in the Solution Explorer → Add → Windows Form
  • Name it something like SplashScreen and hit OK
  • Design the screen however you want (add a logo, loading text, progress bar—whatever fits your app)

Step 2: Update Your Startup Logic to Show the Splash Screen

You'll need to modify your project's startup code (usually in Program.vb) to display the splash screen before loading your main form. Here's how to do it:

Imports System.Threading

Module Program
    <STAThread>
    Sub Main()
        Application.EnableVisualStyles()
        Application.SetCompatibleTextRenderingDefault(False)

        ' Show the splash screen
        Dim splash As New SplashScreen()
        splash.Show()

        ' Force the splash screen to render immediately
        splash.Refresh()

        ' Simulate any startup tasks (like loading data, initializing components)
        ' Replace this with your actual startup logic
        Thread.Sleep(3000) ' Show splash for 3 seconds

        ' Close the splash screen and open the main form
        splash.Close()
        Application.Run(New YourMainFormName())
    End Sub
End Module

Note: Replace YourMainFormName with the actual name of your main form (the one with the combo box code you shared).

Step 3: Optional - Add a Timer for Automatic Close (Instead of Fixed Delay)

If you don't want a fixed sleep time, you can add a Timer control to your SplashScreen form:

  1. Drag a Timer from the Toolbox onto the SplashScreen form
  2. Set its Interval property to your desired display time (e.g., 3000 for 3 seconds)
  3. Double-click the Timer to add its Tick event handler:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Timer1.Stop()
    Me.Close()
End Sub
  1. Start the Timer when the splash screen loads:
Private Sub SplashScreen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Timer1.Start()
End Sub

Then update your Program.vb to just show the splash screen and run the main form (no sleep needed):

<STAThread>
Sub Main()
    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)

    Dim splash As New SplashScreen()
    splash.Show()

    Application.Run(New YourMainFormName())
End Sub

Quick Optimization for Your Combo Box Code

While we're at it, your SelectedIndexChanged logic can be simplified with a Select Case statement to make it cleaner:

Private Sub comboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    label2.Visible = True
    label3.Visible = True
    ' Only change label4's visibility based on selection
    label4.Visible = (comboBox1.SelectedIndex = 0)
End Sub

That should get your splash screen up and running! Let me know if you hit any snags along the way.

内容的提问来源于stack exchange,提问作者CoeTheTruth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 17:02:29