vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Password TextBox wie auf dem Handy 
Autor: Manfred X
Datum: 30.09.14 06:43

Vielleicht so oder ähnlich (grob getestet) ????

(Code in eine neue Klasse einfügen, das Projekt übersetzen
und das Steuerelement "TextboxPW" für die Passworteingabe verwenden.)

Imports System.Windows.Forms
Public Class TextBoxPW
    Inherits TextBox
 
    Private Const MaskChar As Char = "*"c   'maskierendes Zeichen 
    Private Const MaxChars As Integer = 10  'maximal zulässige Zeichenzahl
    Private Const EmptyChar As Char = "_"c  'Zeichen zur Anzeige verfügbarer 
    ' Länge
 
    Private Const InvalidChars As String = _
          " (){}[]=?^°€@" & EmptyChar & MaskChar 'unzulässige Zeichen
 
    'Anzeigedauer für das zuletzt eingegebene Zeichen
    Private Const DisplayMilliSeconds As Integer = 1000
 
    Private _lastpresstime As Date 'Zeitpunkt der letzten Zeichen-Eingabe
    Private _input As New System.Text.StringBuilder 'eingegebene Zeichenfolge
 
    Private WithEvents timKeyMask As New Timer With _
        {.Interval = 500, .Enabled = True}
    Private _ismasked As Boolean = False 'Kennung für Art der Anzeige
 
    'Benachrichtigung bei return
    Public Event Done(sender As Object, e As EventArgs)
 
 
    Protected Overrides Sub OnKeyPress(e As _
      System.Windows.Forms.KeyPressEventArgs)
 
        If Not Char.IsControl(e.KeyChar) And _input.Length < MaxChars Then
            MyBase.OnKeyPress(e)
            MaskInput(e.KeyChar, True)
        End If
        e.Handled = True
    End Sub
 
 
    Protected Overrides Sub OnKeyDown(e As System.Windows.Forms.KeyEventArgs)
        MyBase.OnKeyDown(e)
 
        'Zeichen immer hinten anhängen
        Me.SelectionStart = _input.Length
 
        If e.KeyCode = Keys.Back AndAlso _input.Length > 0 Then
            'Letztes Zeichen löschen
            _input.Length -= 1
            MaskInput(Nothing, False)
        ElseIf e.KeyCode = Keys.Return Then
            'Beendigung der Eingabe melden
            RaiseEvent Done(Me, EventArgs.Empty)
        End If
        e.Handled = True
    End Sub
 
 
    Private Sub timKeyMask_Tick(sender As Object, e As System.EventArgs) _
      Handles timKeyMask.Tick
        Dim period As Long = Now.Ticks - _lastpresstime.Ticks
 
        If period > TimeSpan.TicksPerMillisecond * DisplayMilliSeconds And _
            Not _ismasked Then MaskInput(Nothing, False)
    End Sub
 
 
    Private Sub MaskInput(ByVal newchar As Char, ByVal shownewchar As Boolean)
 
        If InvalidChars.Contains(newchar) Then Exit Sub 'unzulässiges Zeichen
 
        MyBase.Text = New String(MaskChar, _input.Length) 'Maske: vorhandene 
        ' Zeichen
        If Not newchar = Nothing Then
            _input.Append(newchar)
            If shownewchar Then
                MyBase.AppendText(newchar)
                _lastpresstime = Now
            Else
                MyBase.AppendText(MaskChar)
            End If
        End If
 
        If _input.Length < MaxChars Then
            'Maske: noch verfügbare Zeichen
            MyBase.AppendText(New String(EmptyChar, MaxChars - _input.Length))
        End If
        MyBase.SelectionStart = _input.Length
        _ismasked = Not shownewchar
    End Sub
 
 
    ''' <summary>Abfrage der eingegebenen Zeichenfolge</summary>
    Public Shadows ReadOnly Property Text As String
        Get
            Return _input.ToString
        End Get
    End Property
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Password TextBox wie auf dem Handy2.425henrikl200029.09.14 21:07
Re: Password TextBox wie auf dem Handy1.717Manfred X30.09.14 06:43
Re: Password TextBox wie auf dem Handy1.591henrikl200030.09.14 10:58
Re: Password TextBox wie auf dem Handy1.546Manfred X30.09.14 11:57
Re: Password TextBox wie auf dem Handy1.483henrikl200030.09.14 12:25
Re: Password TextBox wie auf dem Handy1.459henrikl200030.09.14 15:11
Re: Password TextBox wie auf dem Handy1.552Manfred X30.09.14 15:54
Re: Password TextBox wie auf dem Handy1.532henrikl200030.09.14 16:13
Re: Password TextBox wie auf dem Handy1.535Manfred X30.09.14 18:16
Re: Password TextBox wie auf dem Handy1.475henrikl200002.10.14 10:04
Re: Password TextBox wie auf dem Handy1.640Manfred X02.10.14 12:54
Re: Password TextBox wie auf dem Handy1.414henrikl200002.10.14 13:00
Re: Password TextBox wie auf dem Handy1.362henrikl200012.04.15 10:58

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel