应用程序在对话框后自动关闭

时间:2016-01-08 09:01:54

标签: vb.net winforms visual-studio-2013

VB.NET的新手,但此刻还很难过。

我的Windows窗体应用程序启动' Form1'然后使用以下命令启动对话框:

Dim dialogResult As Boolean = configWizard.ShowDialog()

ConfigWizard然后将一些数据写入注册表,弹出新的注册表值并关闭Form1的其余部分加载。 这一切都很好..从Visual Studio 2015调试时。

我面临的问题是使用内置的InstallShield为此程序构建安装程序。安装程序在安装时设置了注册表值(完美地运行),然后对话框打开,设置新值并弹出它所写的新值。一切正常。但是,只要我按下“确定”,Form1就会立即关闭。在对话框上。 它应该会弹出一个消息框,上面写着' True'但整个计划结束了。

在程序不断运行时,看起来Form1确实闪烁了几毫秒才消失。似乎该程序只是因为一些未知原因而关闭。关于如何阻止Form1关闭,我感到非常难过。任何需要帮助的问题都必须得到赞赏。

我省略了一些不可靠的代码。 当Form1确实闪烁时,我设法快速截取屏幕截图(验证Form1和消息框说明' True'在对话框关闭后加载...虽然只是一瞬间)

代码:

对话框: 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

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中

1 个答案:

答案 0 :(得分:0)

使用OnShown事件(Form1_Shown)而不是OnLoad来显示对话框。