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