VB.NET新手,但目前相當困難。應用程序在對話框後自動關閉
我的Windows窗體應用程序啓動「Form1的」,然後開始使用一個對話框:
Dim dialogResult As Boolean = configWizard.ShowDialog()
的ConfigWizard那麼一些數據寫入到註冊表中,用新的註冊表值彈出並在其關閉指向Form1加載的其餘部分。 這一切工作正常..從Visual Studio 2015年調試。
我面臨的問題是,當我使用內置的InstallShield構建此程序的安裝程序。安裝程序在安裝時設置註冊表值(完美工作),然後打開對話框,設置新值並彈出寫入的新值。這一切工作正常。但是,只要按下對話框上的「確定」,Form1就會立即關閉。 它應該彈出一個消息框,說'真',但整個程序關閉。
在程序不斷運行時,它確實出現了Form1在消失前確實閃爍了幾毫秒。看起來程序只是因爲一些未知的原因而關閉。我非常難以確定如何阻止Form1關閉。任何問題的幫助將是必不可少的。
我已經省略了一些irrelivent的代碼。 我設法迅速採取截圖的時候在Form1沒有閃爍起來(驗證兩者Form1並在MessageBox說「真」是對話框加載後是收..儘管只是一秒鐘)
代碼:
對話框: Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
myValue1= Me.myValue1.Text
myValue2= Me.myValue2.Text
Dim regKey As RegistryKey
regKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\removedSoftware", True)
regKey.SetValue("value1", myValue1)
regKey.SetValue("value2", myValue2)
MsgBox(myValue1 & " + " & myValue2)
MsgBox("Registry: " & regKey.GetValue("value1") & " data: " & regKey.GetValue("value2"))
regKey.Close()
Me.Close()
End Sub
Form1中
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dialogResult As Boolean = configWizard.ShowDialog() Try Catch ex As Exception MessageBox.Show(ex.ToString) End Try MsgBox(dialogResult) End Sub
截圖位於:http://s8.postimg.org/tmyekgmet/flash1.png – MikeS
開始將調用移動到ty/catch塊內的ShowDialog。這是一個64位應用程序嗎? – Steve
感謝您的回覆;不,它是一個32位應用程序(TargetCPU是AnyCPU,但打勾時選擇32位,我需要它在32位和64位上運行)將showdialog添加到Try/Catch塊中並不會改變任何內容 – MikeS