2

我正在为 Outlook 编写一个 VB.Net 插件(因此VBA带有.NET)。这是对标准日历项目屏幕的补充。一切都很顺利。但是我有第三种形式,带有两个文本框,它向我显示了文件路径和带有两个按钮running assembly的路径。user.config"Open in Explorer..."

但是: user.config 文件一开始不存在。当我在第二种形式中更改设置并第一次保存时,父目录及其本身会被创建。

我试图将用户设置保存在我的主表单的 form_Initialization 方法上My.Settings.save(),但它不会生成user.config奇怪的文件。这应该与我在第二种形式上所做的相同。

你能帮助我吗?我需要在第三种形式开始时的 user.config 文件。

我的表格(图片)

生成user.config文件的代码:

Private Sub BtnSaveSettings_Click(sender As Object, e As EventArgs)
        If (CmbxDebugOption.Text <> "") And (CmbxOnBootActive.Text <> "") Then

            ' save active start option
            If CmbxOnBootActive.SelectedItem.ToString.ToLower = "ja" Then
                My.Settings.ActiveOnStart = True
            ElseIf CmbxOnBootActive.SelectedItem.ToString.ToLower = "nein" Then
                My.Settings.ActiveOnStart = False
            End If

            ' save debug option
            If CmbxDebugOption.SelectedItem.ToString.ToLower = "deaktiviert" Then
                My.Settings.AlwaysDebug = False
                My.Settings.OnetimeDebug = False
            ElseIf CmbxDebugOption.SelectedItem.ToString.ToLower = "nur einmal" Then
                My.Settings.AlwaysDebug = False
                My.Settings.OnetimeDebug = True
            ElseIf CmbxDebugOption.SelectedItem.ToString.ToLower = "immer aktiv" Then
                My.Settings.AlwaysDebug = True
                My.Settings.OnetimeDebug = False
            End If
            My.Settings.Save()
        End If

        ' Close Form
        Me.Close()
    End Sub
4

1 回答 1

1

我为自己找到了解决方案。My.Settings我在called中创建了一个变量,我在 mainform 的第一次运行时将FirstRunAfterInstall其设置为。False我还将其他变量设置为默认值,然后保存整个混乱。然后该文件将被写入您的硬盘。

看起来像这样:

    If My.Settings.FirstRunAfterInstall Then
        My.Settings.FirstRunAfterInstall = False
        My.Settings.ActiveOnStart = False
        My.Settings.OnetimeDebug = False
        My.Settings.AlwaysDebug = False
        My.Settings.Save()
    End If

My.Settings.Save()是最重要的部分!它刷新一些缓存。如果您忘记了这部分,则更改不会写入文件。

来自德国的问候,

克里斯蒂安·哈斯

于 2016-03-14T09:54:06.677 回答