.net My.Setting变量在生成exe后未重置

.net My.Setting变量在生成exe后未重置,.net,vb.net,user-interface,settings,application-settings,.net,Vb.net,User Interface,Settings,Application Settings,我正在将我的应用程序设置为exe文件。。 在我的项目中,我使用设置变量来计算应用程序打开的次数。。如果用户打开应用程序超过5次,我希望限制用户再次打开应用程序。为此,我使用如下所示形式的编码 Private Sub T01SaleBill_Shown(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Shown if my.settings.

我正在将我的应用程序设置为exe文件。。 在我的项目中,我使用设置变量来计算应用程序打开的次数。。如果用户打开应用程序超过5次,我希望限制用户再次打开应用程序。为此,我使用如下所示形式的编码

        Private Sub T01SaleBill_Shown(ByVal sender As Object, _ 
           ByVal e As System.EventArgs) Handles Me.Shown
                 if my.settings.openedtimes >5 then
                 me.close()
                 else
                 my.settings.openedtimes += 1;
                 my.settings.save()
                end if;

     End Sub

exe文件已创建,并且在应用程序打开5次后,通过我的exe可正常工作。。表格已关闭。。现在我将my.settings.openedtimes重置为0,并再次创建一个新的exe。现在我卸载以前的exe。。并运行新的exe。这一次我的表格也关闭了。我认为设置变量my.settings.openedtimes的值与前面一样大于5。我无法理解此设置变量有什么问题。。有谁能帮我这里有什么问题吗?

添加一个名为newvers的布尔设置,并在设置设计器中将其设置为true。那就试试这个

Private Sub Form1_Shown(sender As Object, _
                        e As EventArgs) Handles Me.Shown
    If My.Settings.newvers Then
        My.Settings.Upgrade() 'get previous values
        'change values that should not be carried over
        My.Settings.openedtimes = 1
        My.Settings.newvers = False 'turn new version off
    Else
        My.Settings.openedtimes += 1
    End If
    If My.Settings.openedtimes > 5 Then Me.Close()
    My.Settings.Save()
End Sub

您是否从相关用户配置文件目录中删除了设置文件?@RowlandShaw设置文件的意思是?我从exe安装路径中删除了应用程序文件夹。。不单独使用设置文件。Rowland是对的,除非您在卸载过程中创建一些东西来清除用户配置,否则它将保留用户配置。@jcwrets询问卸载应用程序后如何清除设置。我的计算机中的设置文件在哪里?您的回答显示my.settings.openedtimes始终为1..我可以知道它何时递增吗?您将newvers设置为true。并且在任何情况下都不更改它..所以其他部分不执行