我有一個單獨的表單需要顯示圖像,然後淡出並打開主窗體。當它到達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'語句,因爲它只存在於向後兼容性中,而你在網上找到的大多數只與VB6兼容,而不是VB.NET兼容。 [** DllImport **](https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute(v = vs.110).aspx)是這些日子的方式。您可以查找C#聲明並使用在線轉換器轉換它們。 –