У меня есть следующий код:функция не меняется результата на основе аргументов
Imports System.Web.Security
Public Class Form1
Dim symbols As Integer = 0
Private Sub cbSymbols_CheckedChanged(sender As Object, e As EventArgs) Handles cbSymbols.CheckedChanged
If cbSymbols.CheckState = 1 Then
symbols = 1
ElseIf cbSymbols.CheckState = 0 Then
symbols = 0
End If
End Sub
Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerate.Click
Dim password As String = Membership.GeneratePassword(ComboBox1.SelectedIndex + 6, symbols)
Label1.Text = password
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Font = New Font("Arial", 14)
If ComboBox1.Items.Count > 0 Then
ComboBox1.SelectedIndex = 0 ' The first item has index 0 '
End If
End Sub
End Class
Однако, независимо от того, если мой флажка (cbSymbols) проверяется, мои пароли есть 1 символ, а галочка, и 2 символа флажков. Может ли кто-нибудь помочь мне диагностировать эту проблему и/или улучшить мой код? Благодарю.
ли ypou установить точки останова INT 'btn_Generate_Click', чтобы увидеть, если значение' symbols' правильно? – Koen
[Согласно MSDN] (http://msdn.microsoft.com/en-us/library/system.web.security.membership.generatepassword.aspx) второй параметр указывает только * минимальное количество символов. Вы ожидаете, что он наложит * максимум * вместо этого? –
@RogerRowland Действительно, я был, любая идея, как это сделать? – SCGB