Rubrik: TextBox, ListBox & ComboBox | 07.01.09 |
Schreiben in Textbox nicht oder nur bedingt zulassen (VB 2005, VB 2008) VB-Version: VB2005, VB2008 | ||
Views: 16.018 |
Immer wieder taucht die Frage auf: Wie kann ich verhindern, dass in eine Textbox reingeschrieben wird?
Wenn man eine Textbox lediglich benutzt, um Text anzuzeigen, der schon beim Start des Programms oder durch eine Aktion des Benutzers angezeigt werden soll ist dies sehr einfach. Hierzu setzt man in den Eigenschaften der Textbox die ReadOnly-Eigenschaft auf False. Dann wird die Textbox grau unterlegt und kann nicht beschrieben werden.
Soll allerdings der Benutzer bestimmte Eingaben machen, die später nicht mehr geändert werden dürfen, muss man dies im Code machen. Das geht z. B. nach einem Klick auf einen Button so:
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click TextBox1.ReadOnly = True End Sub
Oder man erledigt das automatisch, wenn der Benutzer die Textbox verlässt:
Private Sub TextBox1_LostFocus(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox1.LostFocus TextBox1.ReadOnly = True End Sub
Wenn Sie sich die Ereignisse der Textbox mal anschauen, finden Sie noch andere Möglichkeiten, in denen Sie die ReadOnly-Eigenschaft ändern können. Genau so einfach lässt sich die ReadOnly-Eigenschaft zurücksetzen, damit wieder in die Textbox geschrieben werden kann. Hierzu einfach im entsprechenden Ereignis die ReadOnly-Eigenschaft wieder auf False setzen:
TextBox1.ReadOnly = False