如何制作组合框密码

时间:2018-02-26 09:47:29

标签: vb.net

如何制作组合框密码或按钮密码?我得到了这个代码,但它不起作用。

Public Class Form1

  Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    If ComboBox1.Text = "5" Then
        If ComboBox2.Text = "3" Then
            If ComboBox3.Text = "2" Then
                If ComboBox4.Text = "6" Then
                    Button1.Enabled = True
                End If
            End If
        End If
    End If
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MsgBox("Dony", MsgBoxStyle.Information, "Dony")
    Application.Exit()
  End Sub

当组合框的项目为5时,它将允许另一个组合框为3,如果第二个组合框为3则允许第三个组合框为6,如果发生这种情况,它将允许第四个组合框为2然后如果发生这种情况则按钮被启用。

有人帮忙吗?

3 个答案:

答案 0 :(得分:0)

只有在ComboBox1中更改选定的索引时,才会运行此功能。只有在为其他ComboBox选择了所有好的值后,如果为Combobox1选择了值,Button1才会启用。您应该将此代码放在另一个函数中,每次在四个ComboBox中选择一个值时都可以调用它。

答案 1 :(得分:0)

首先:您的代码只会在第一个Combobox更改后执行。因此它只会检查第一个ComboBox更改后的第二个,第三个和第四个位置。

您的问题的解决方案是将其他ComboBox添加为您的函数的处理程序。你也听错了。只有当用户从列表中选择另一个答案时才会触发SelectedIndexChanged。但是,如果用户输入代码怎么办?正确的事件是TextChanged事件,如果用户键入代码,它也会触发该函数。

Private Sub CheckCode(sender As Object, e As EventArgs) Handles ComboBox1.TextChanged, ComboBox2.TextChanged, ComboBox3.TextChanged, ComboBox4.TextChanged
    If ComboBox1.Text = "5" Then
        If ComboBox2.Text = "3" Then
            If ComboBox3.Text = "2" Then
                If ComboBox4.Text = "6" Then
                    Button1.Enabled = True
                End If
            End If
        End If
    End If
End Sub

就个人而言,我不会这样处理,但它肯定能解决你的问题。

答案 2 :(得分:0)

我解决了这个问题。

代码是

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If NumericUpDown1.Value = 5 And NumericUpDown2.Value = 3 And NumericUpDown3.Value = 2 And NumericUpDown4.Value = 6 Then
        Me.Close() 'Command here.
    End If
End Sub

如果有人想知道。