イメージを表示し、メインフォームをフェードアウトして開く必要がある別のフォームがあります。 Form1.Show()に到達すると、InvalidOperationExceptionがスローされます。ここに私のコードです:フォームを表示しようとした後にInvalidOperationExceptionがスローされました
Public Class SPLASH
Public Declare Auto Function AnimateWindow Lib "user32" (ByVal hwnd As IntPtr, ByVal time As Integer, ByVal flags As Integer) As Boolean
Public Enum AnimateStyles
Slide = 262144
Activate = 131072
Blend = 524288
Hide = 65536
Center = 16
HOR_Positive = 1
HOR_Negative = 2
VER_Positive = 4
VER_Negative = 8
End Enum
Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
AnimateWindow(Me.Handle, 1000, AnimateStyles.HOR_Negative Or AnimateStyles.Blend)
Thread.Sleep(2000)
Form1.Show()
End Sub
End Class
私の問題のためのオンライン無修正を見つかりませんでしたし、私はどちらかそれを自分自身を修正することができませんでした。私はドキュメンテーションを見ていますが、AnimateWindow関数が完全に終了するまで待つ必要があるかもしれないと思いますが、どうしたらいいか分かりません。
実際のエラーメッセージが表示されない場合は、手助けするのは難しいです。 –
ところで、 'AnimateWindow'の' time'と 'flags'パラメータは' UInteger'型でなければなりません。 'Declare Function ... Lib'文は下位互換性のために存在するだけで、オンラインで見つかったもののほとんどはVB.NETではなくVB.NETとしか互換性がないため、使用しないでください。 [** DllImport **](https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute(v = vs.110).aspx)は、これらの日に行く方法です。 C#宣言を探して、オンラインコンバータを使用して変換できます。 –