1

Windows フォーム VB アプリケーション.. アプリケーションに、splashScreen を追加しました。そして、それは一瞬だけ点滅して消えていたので、フォームロードイベントにスリープタイマーを追加しました...問題は、スリープタイマーの最後に単に閉じるのではなく、アプリケーションが終了した後でもsplashScreenが開いたままになることです..これを引き起こしている Form Load イベントの一部は次のとおりです。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load

Threading.Thread.Sleep(5000)
Me.WindowState = FormWindowState.Maximized
Dim _year As String = System.DateTime.Now.Year.ToString

myproject に移動して作成したストック スプラッシュスクリーンを使用しています。そのコードは次のとおりです。 Public NotInheritable Class SplashScreen1

'TODO: This form can easily be set as the splash screen for the application by going to the "Application" tab
'  of the Project Designer ("Properties" under the "Project" menu).


Private Sub SplashScreen1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


    'Set up the dialog text at runtime according to the application's assembly information.  

    'TODO: Customize the application's assembly information in the "Application" pane of the project 
    '  properties dialog (under the "Project" menu).

    'Application title
    If My.Application.Info.Title <> "" Then

    Else
        'If the application title is missing, use the application name, without the extension
        'ApplicationTitle.Text = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
    End If

    'Format the version information using the text set into the Version control at design time as the
    '  formatting string.  This allows for effective localization if desired.
    '  Build and revision information could be included by using the following code and changing the 
    '  Version control's designtime text to "Version {0}.{1:00}.{2}.{3}" or something similar.  See
    '  String.Format() in Help for more information.
    '
    '    Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)

    Version.Text = System.String.Format(Version.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor)

    'Copyright info
    Copyright.Text = My.Application.Info.Copyright


End Sub

クラス終了

これに関連する関数にはこれ以上何もありません..残りはフォームラベルとテキストボックスに入力するために使用されます... Threading.Thread.Sleep(5000) 行を削除すると、スプラッシュ画面は一瞬だけちらつきますが、終了後に終了します..何かアイデアはありますか??

4

4 に答える 4

4

答えは、使用するのではなくThread.SleepMinimumSplashScreenDisplayTime (スプラッシュ スクリーンが表示される最小時間 (ミリ秒単位))を設定することです。

これを設定するには:

  1. 選択するProject>[Your project name] Properties
  2. Applicationタブ
  3. View Application Eventsスプラッシュスクリーンドロップダウンの横にあるボタンをクリックします
  4. オブジェクト選択MyApplicationドロップダウン (左上のメニュー) からオブジェクトを選択します。
  5. OnCreateSplashScreenメソッドのドロップダウン (右上のメニュー) からメソッド宣言を選択します。
  6. OnCreateSplashScreenメソッドに次の行を追加しますMinimumSplashScreenDisplayTime = 10000

(まだ行っていない場合は、スプラッシュ スクリーン フォームをアプリケーションのスプラッシュ スクリーンに設定する必要があります。スプラッシュスクリーンの指定方法を参照してください)

于 2012-04-30T09:16:18.603 に答える
1
FormName.MinimumSplashScreenDisplayTime = 10000 

スプラッシュ画面が10秒間表示されます。

于 2012-04-30T11:49:31.683 に答える
1

その助けをありがとう...それは今働いています..しかし、私はコメントアウトしなければなりませんでした

  Me.WindowState = FormWindowState.Maximized

なぜか最低スプラッシュタイムを破っていました。

于 2012-04-30T16:32:17.683 に答える