如何使文本框保留数据

时间:2017-06-13 13:29:07

标签: vb.net visual-studio ms-access-2013

好的,所以我正在尝试制作一个包含3个文本框和下一个和后退按钮的表单。我应该在那些文本框中输入数据。我想要做的是,如果我点击下一个按钮,相同的表单将显示其初始状态(3个空文本框和两个按钮)但如果我单击后退按钮,它将显示我在文本框中输入的数据我进去了。基本上,我希望文本框能够保留数据。我完全不知道怎么做。我在网上搜索无济于事。这需要数据库还是什么?请帮忙:(

2 个答案:

答案 0 :(得分:1)

我会使用字符串数组。不确定你对vb或编码的熟悉程度,但数组只是一个普通变量,它包含一堆相同类型的不同信息。 (即如果你有3个字符串" cat"," dog"和" fish&#34 ;,你可以将字符串数组设置为strAnimal(2)= { " cat"," dog"," fish"}因为vb很古怪并且从索引0开始或者只是使它成为strAnimal()所以它可以的字符串数量持有几乎是无限的)

我会这样做:

'all static variables maintain their values even when the click procedure ends
'for ease I am assuming there are values in the arrays already

Static intCounter As Integer   'for index
Const intArrayLimit As Integer = 'whatever you decide you want the most to be stored is

Private Sub btnBack_Click(autocode that Visual Studio puts in for the buttonclick procedures) Handles btnBack.Click

    Static strEntered1(intArrayLimit) As String    'textbox 1 array
    Static strEntered2(intArrayLimit) As String    'textbox 2 array
    Static strEntered3(intArrayLimit) As String    'textbox 3 array

    'decrease counter to previous index
    intCounter = intCounter - 1

    'display stored values
    Me.TextBox1.Text = strEntered1(intCounter)
    Me.TextBox2.Text = strEntered2(intCounter)
    Me.TextBox3.Text = strEntered3(intCounter)

    'disable back button if there are no values before these
    If intCounter = 0 Then
        Me.btnBack.Enabled = False
    Else
        Me.btnBack.Enabled = True
    End If

    'enable forward button if there are more values entered beyond those displayed
    If intCounter < intArrayLimit Then
        Me.btnNext.Enabled = True
    Else
        Me.btnNext.Enabled = False
    End If
End Sub

然后对于Forw​​ard / Next按钮,你将1添加到计数器而不是减去,我将包括检查数组中该索引的值,以允许用户在文本框中输入值。

答案 1 :(得分:0)

您可以随时在清除文本框之前为包含该文本框中文本的每个文本框创建一个标记。

import os

PICTURES_PATH = '/home/owe4_pg3/html/Rogier/DreamteamPy/assets/pictures'

def index():
    filenames = os.listdir(PICTURES_PATH)

然后用你的后退按钮回忆:

Textbox1.Tag = Textbox1.Text
Textbox1.Clear()

完成数据后:

Textbox1.Text = Cstr(Textbox1.Tag)