制作exe后,My.Setting变量未重置

时间:2013-09-24 12:33:30

标签: .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.openedtimes >5 then
                 me.close()
                 else
                 my.settings.openedtimes += 1;
                 my.settings.save()
                end if;

     End Sub

创建的exe文件,它通过我的exe ...工作正常。应用程序打开5次后...表单关闭..现在我将my.settings.openedtimes重置为0并再次创建一个新的exe。现在我卸载以前的exe ..并运行新的exe。这个时候我的表格也关闭了。我认为设置变量my.settings.openedtimes保持大于5的值。我无法理解这个设置变量有什么问题..任何人都可以帮我解决这里的问题..

1 个答案:

答案 0 :(得分:0)

添加名为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