我一直在和这个人争斗三天,问了很多人这个问题,但也许我说错了。我正在工作的项目是创建一个数字安全锁。我需要实现以下目标:
我在组框中创建了一个带有六个按钮的键盘。单击按钮时,单击的数字必须显示在列表框中。当您按下其余部分(最多六位数)时,所有必须显示在列表框中,按顺序彼此相邻,就像按下计算器上的按钮一样,然后列表框必须以相同的方式显示它们。以下是我最新的想法:
Public Class Form1
Private Sub btn1_Click(sender As Object, e As EventArgs) Handles btn1.Click
If pinlst.Items.Count = 0 Then
pinlst.Items.Add(btn1.Text)
Else
pinlst.Items(0).SubItems.Add(btn1.Text)
End If
End Sub
Private Sub btn2_Click(sender As Object, e As EventArgs) Handles btn2.Click
If pinlst.Items.Count = 1 Then
pinlst.Items.Add(btn2.Text)
Else
pinlst.Items(1).SubItems.Add(btn2.Text)
End If
End Sub
Private Sub btn3_Click(sender As Object, e As EventArgs) Handles btn3.Click
If pinlst.Items.Count = 2 Then
pinlst.Items.Add(btn3.Text)
Else
pinlst.Items(2).SubItems.Add(btn3.Text)
End If
End Sub
Private Sub btn4_Click(sender As Object, e As EventArgs) Handles btn4.Click
pinlst.Text = btn4.Text
End Sub
Private Sub btn5_Click(sender As Object, e As EventArgs) Handles btn5.Click
pinlst.Text = btn5.Text
End Sub
Private Sub btn6_Click(sender As Object, e As EventArgs) Handles btn6.Click
pinlst.Text = btn6.Text
End Sub
Private Sub btngp_Enter(sender As Object, e As EventArgs) Handles btngp.Enter
pinlst.Text = pinlst.Text & btn1.Text
pinlst.Text = pinlst.Text & btn2.Text
pinlst.Text = pinlst.Text & btn3.Text
pinlst.Text = pinlst.Text & btn4.Text
pinlst.Text = pinlst.Text & btn5.Text
pinlst.Text = pinlst.Text & btn6.Text
End Sub
End Class
答案 0 :(得分:0)
最好在设计时将每个按钮分配给正在按下的角色或正在执行的功能。为了实现这一点,你需要将每个按钮作为一个自定义控件,当然是基于常规按钮,暴露一个属性" CharPressed"或类似的东西。然后,您可以为所有按钮设置一个静态处理程序,您将在Sub New
之后在InitializeComponent
中动态连接。如果这没有意义,请随意在评论中提问。