我有一个程序,当单击按钮时会生成密码。按钮的代码如下:
Private Sub generate_Click(sender As Object, e As EventArgs) Handles generate.Click
Module1.firstname = firstnameb.Text
Module1.surname = secondnameb.Text
Module1.colour = colourb.Text
Module1.dob = dobb.Text
Module1.dod = dodb.Text
Module1.password = ((Mid$(Module1.firstname, 1, 1)) & (Mid$(Module1.surname, 1, 1)) & (Mid$(Module1.colour, 1, 1)) & (Mid$(Module1.dob, 1, 1)) & (Mid$(Module1.dod, 1, 1)))
Timer1.Start()
If ProgressBar1.Value < 100 Then
ProgressBar1.Value += 1
ElseIf ProgressBar1.Value = ProgressBar1.Maximum Then
passwordresultb.Text = Module1.password
End If
End Sub
但是,我必须按两次按钮:一次用于进度条,第二次用于输入密码。
非常感谢任何帮助。
答案 0 :(得分:1)
您需要在计时器Tick
事件中移动整个If块。
答案 1 :(得分:0)
单击按钮时,将调用此方法一次。如果ProgressBar.Value小于100,则会增加。否则,文本框将使用密码进行更新。由于您使用If..ElseIf模式,因此每次调用只会发生其中一个。
根据提供的代码,您的意图不是很明确。我无法告诉你如何使用进度条,或者说是什么。但问题的根源是If..ElseIf语句。如果您只想在单击按钮时在文本框中显示密码,请删除ProgressBar位并更新文本框。
如果您希望自己的进度条更新为“最高”&#39;在显示密码之前,试试这个(我的VB有点生锈......但应该是这样):
While ProgressBar1.Value < ProgressBar1.MaximumValue
ProgressBar.Value += 1
End While
passwordresultb.Text = Module1.password