Vb.net 当我重新打开它时,它不会';t存储Label5和TextBox1的值。在TextBox1中,我想在重新打开后显示零值

Vb.net 当我重新打开它时,它不会';t存储Label5和TextBox1的值。在TextBox1中,我想在重新打开后显示零值,vb.net,Vb.net,我在VisualBasic中有以下情况。5个标签、4个文本框和2个按钮(根据图片)。TextBox1+Textbox2+TextBox3=TextBox4和Label4=TextBox4。按钮1表示在(TextBox1+Textbox2+TextBox3)处的总计。按钮2,表示保存。我希望Label5在按下SAVE按钮后显示TextBox1和中要保存的值。这是使用的代码。显然,该应用程序可以工作,但当我重新打开它时,它不会存储Label5和TextBox1的值。在TextBox1中,我想在重新打

我在VisualBasic中有以下情况。5个标签、4个文本框和2个按钮(根据图片)。TextBox1+Textbox2+TextBox3=TextBox4和Label4=TextBox4。按钮1表示在(TextBox1+Textbox2+TextBox3)处的总计。按钮2,表示保存。我希望Label5在按下SAVE按钮后显示TextBox1和中要保存的值。这是使用的代码。显然,该应用程序可以工作,但当我重新打开它时,它不会存储Label5和TextBox1的值。在TextBox1中,我想在重新打开后显示零值。请帮帮我

这是密码

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim t1 As Integer
        Dim t2 As Integer
        Dim t3 As Integer
        Dim t4 As Integer
        Dim total1 As Integer

        If Integer.TryParse(TextBox1.Text, t1) AndAlso Integer.TryParse(TextBox2.Text, t2) AndAlso Integer.TryParse(TextBox3.Text, t3) AndAlso Integer.TryParse(TextBox4.Text, t4) Then

            total1 = t1 + t2 + t3 + t4
        Else
            MessageBox.Show("Introduceti 1 sau 0. Ati introdus o litera")
            Exit Sub
        End If
        TextBox4.Text = total1.ToString

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


        Label5.Text = TextBox1.Text
        My.Settings.QQQ = Label5.Text
        My.Settings.QQQ = TextBox1.Text
        My.Settings.Save()




        Label4.Text = TextBox4.Text
        My.Settings.QQQ = Label4.Text
        My.Settings.QQQ = TextBox4.Text
        My.Settings.Save()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        TextBox1.Text = My.Settings.QQQ
        Label5.Text = My.Settings.QQQ





        TextBox4.Text = My.Settings.QQQ
        Label4.Text = My.Settings.QQQ


        If TextBox4.Text = " " Then
            Button1.Enabled = False
        Else
            Button1.Enabled = True
        End If
    End Sub

    Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox4.TextChanged









        If TextBox4.Text = " " Then
            Button1.Enabled = False
        Else
            Button1.Enabled = True
        End If
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

        If TextBox1.Text = " " Then
            Button1.Enabled = False
        Else
            Button1.Enabled = True
        End If



    End Sub
End Class

首先,确保您的QQQ设置的范围是用户而不是应用程序,以便可以对其进行更新。类型应为字符串

在按钮2中。单击可设置标签和文本框以显示相同的内容。然后将设置设置为与标签文本相等。接下来,使用文本框值覆盖设置。这没有道理。它们是相同的值

然后再覆盖2次。在方法结束时,仅保留最后一次分配给设置的
My.settings.QQQ=TextBox4.Text

作为旁注,在TextChanged事件中,您真的是指空格字符吗<代码>“我想您可能需要一个空字符串

只需完全去掉TextBox4,并使用Label4来保存总数。您不希望用户能够直接更改总数

Label5在做什么?看来没必要了

用户设置在会话之间保持不变。在项目属性中设置用户设置时,该设置将存储在项目文件夹中的app.config中

<userSettings>
    <TestCode3.My.MySettings>           
        <setting name="QQQ" serializeAs="String">
            <value />
        </setting>
    </TestCode3.My.MySettings>
</userSettings>

我认为您的主要问题是覆盖您创建的单个设置。

您的错误非常明显,您将所有值都保存到我的中。背景QQQQ。这意味着textbox 1先前保存的值被textbox 4的值覆盖。谢谢你的建议,但我是个初学者,对此我不太了解。请告诉我更多的细节。谢谢你抽出时间!TextBox1=Label5和TextBox4=label4将数据保存到数据库中,或保存到XML等外部文件中。如果将其保存到程序设置中,则不会保留该数据。程序关闭时,您将丢失信息。那么,请告诉我如何保存数据?谢谢。但它不起作用。你知道我怎样上传一张图片来更好地解释吗谢谢你。但它不起作用。你知道我如何上传一张图片来更好地解释吗?@FoxinBox67什么不起作用?适合我。这是一张应用程序的照片。谢谢你抽出时间!脱色照片。TKS
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    TextBox1.Text = "0"
    Label4.Text = My.Settings.QQQ
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim t1, t2, t3, t4 As Integer
    Dim total1 As Integer
    If Integer.TryParse(TextBox1.Text, t1) AndAlso Integer.TryParse(TextBox2.Text, t2) AndAlso Integer.TryParse(TextBox3.Text, t3) AndAlso Integer.TryParse(TextBox4.Text, t4) Then
        total1 = t1 + t2 + t3 + t4
    Else
        MessageBox.Show("Introduceti 1 sau 0. Ati introdus o litera")
        Exit Sub
    End If
    Label4.Text = total1.ToString
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    My.Settings.QQQ = Label4.Text
    My.Settings.Save()
End Sub