Nachfolgender Tipp zeigt, wie man die Eingabe in einer TextBox sehr einfach auf bestimmte Zeichen begrenzen kann. Ferner wird gezeigt, wie man sogar das Einfügen von Text über das Kontextmenü verhindert. Erstellen Sie ein neues Projekt und platzieren auf die Form eine TextBox namens Text1. Fügen Sie anschließend nachfolgenden Code in den Codeteil der Form ein: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim Zugelassen As String ' In diesen String kommen alle Zeichen, die Sie zulassen möchten. ' (Bsp.: Es werden nur Zahlen, Kommas und Backspace zugelassen.) Zugelassen = "1234567890," & Chr$(8) ' Schaltet die Textbox frei. Es können Zeichen eingegeben werden Text1.Locked = False ' Es wird überprüft, ob das Zeichen, dass eingeben wurde zulässig ist If InStr(1, Zugelassen, Chr$(KeyAscii)) = 0 Then ' Falls es sich bei dem Zeichen um ein unzulässiges Zeichen ' handelt, wird die Eingabe durch Setzen von "KeyAscii = 0" unterbunden KeyAscii = 0 End If End Sub Der nächste Code-Block kommt in die Prozedur "Private Sub Text1_MousDown". Dieser Teil unterbindet, dass man durch das Öffnen des Kontextmenüs mit der rechten Maustaste irgendwelche Zeichen aus der Zwischenablage einfügen kann. Es ist zwar simpel, aber (wie ich finde) clever! Oder!? Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) ' Wenn die rechte Maustaste gedrückt wurde und das ' Kontextmenü geöffnet werden soll... If Button = 2 Then ' Dann wird jede Eingabe in die Textbox ausgeschlossen. Text1.Locked = True Else ' Bei jedem anderem Klick wird die Textbox für die ' Eingabe wieder freigegeben Text1.Locked = False End If End Sub Im Forum wurde das Öffnen des Kontextmenüs mit Hilfe von Subclassing (30 Zeilen Code), oder mit Hilfe von Sendmessage und einer Picturebox gelöst (15 Zeilen Code). Dieser Tipp wurde bereits 26.858 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |