3

このコードを使用して、vb.net のプロジェクトのスプラッシュ スクリーンを 5 秒に設定しました。

Imports System.Collections.ObjectModel
Namespace My

    Partial Friend Class MyApplication
        Protected Overrides Function OnInitialize(ByVal commandLineArgs As ReadOnlyCollection(Of String)) As Boolean
            Me.MinimumSplashScreenDisplayTime = 5000
            Return MyBase.OnInitialize(commandLineArgs)
        End Function
    End Class

End Namespace

このコードは完全に機能していますが、プロジェクトの読み込みに時間がかからないため、スプラッシュスクリーンが読み込まれるとすぐに最初のフォームも読み込まれ、スプラッシュスクリーンが非表示になります。

スプラッシュ スクリーンが閉じられた後に最初のフォームが読み込まれるようにします。誰でもこれで私を助けることができますか?

4

1 に答える 1

1

いずれかのフォームではなく、「サブ メイン」をスタートアップ オブジェクトとして使用するようにアプリケーションを設定してみてください。「サブ メイン」では、初期化中にスプラッシュ スクリーンをモーダレス フォームとして表示し、メイン フォームを表示する準備ができたら非表示にすることができます。何かのようなもの:

Sub Main

    Dim slash as new SpashScreenForm
    slash.Show()

    <do the initialization for several seconds>

    slash.Hide()

    Dim mainForm as new TheMainForm
    mainForm.ShowDialow()

 End Sub

スプラッシュ画面を更新するには、いくつかの Application.DoEvents() 呼び出しをスローする必要がある場合があります。

于 2012-10-21T22:07:58.333 に答える