Right Margin fuer Textbox

Hallo Zusammen,

Ich habe eine Textbox in meiner Form, die eine Width von 100 hat. Wenn ich in dieser Textbox meine Daten eingebe und ich an das ende der Textbox width ankomme, so soll man nicht mehr in der Lage sein mehr Daten einzugeben.
Praktisch sollte es genau so sein als wenn man eine Right Margin in einer Listbox macht.

Mit Maxlength ist es in dieser Situation nicht getan.

Haette da jemand einen Tip?
 
erstmal vielen Dank fuer den Tip. Ich habe zwar noch keine Ahnung wie ich dies implementiere aber werde mich mal schlau machen. Wenn du jedoch mal auf ein beispiel zustossen solltest, bitte poste es.
 
Code:
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    Dim tb As TextBox = CType(sender, TextBox)
    Dim g As Graphics = tb.CreateGraphics
    If g.MeasureString(tb.Text, tb.Font).Width > tb.Width Then
        ' letztes Zeichen wegschneiden
        tb.Text = tb.Text.Remove(tb.TextLength - 1, 1)
        ' Cursor an das Ende der Texteingabe setzen
        tb.SelectionStart = tb.TextLength
    End If
End Sub
Ist nicht unbedingt hübsch, da der Text erst vollständig in der Textbox angezeigt wird und danach wieder gekürzt wird, aber es funktioniert.
Funktioniert auch, wenn der Benutzer mittels Strg+V einen zu langen Text in die Textbox kopiert!
Schöner wäre es, im KeyDown-Ereignis zu überprüfen, ob der Text durch die gedrückte Taste zu lang werden würde und dann mit "e.SuppressKeyPress=True" die Taste ggf. zu unterdrücken.
 
Zurück