VB.Net (2008) 如何将字母作为密码字符"*",同时保留第一个字母作为原始字母?



我尝试使用此代码

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
    If TextBox2.TextLength > 0 Then
        For i As Integer = TextBox2.TextLength - 1 To 1 Step -1
            TextBox2.Text = TextBox2.Text.Replace(TextBox2.Text.Substring(i, 1), "*")
        Next
    End If
End Sub

但它没有成功

正在使用文本框,我想要的输出是:P*******这是密码

提前致谢

为此,您可以使用以下示例:

Dim inputString As String = "Password"
inputString = inputString(0) + New String("*", inputString.Length - 1)

在您的情况下,输入字符串应替换为 TextBox2.Text ;工作示例在这里

您可以使用

以下函数

Friend Function FirstThenPass(ByVal Str As String) As String
    FirstThenPass = Mid(Str, 1, 1)
    For i = 1 To Str.Length - 1
        FirstThenPass &= "*"
    Next
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If TextBox2.Text.Length > 0 Then
        TextBox2.Text = FirstThenPass(TextBox2.Text)
    End If
End Sub

最新更新