Suche…


Automatische Vervollständigung aus einer Sammlung von Zeichenfolgen

var source = new AutoCompleteStringCollection();

// Add your collection of strings.
source.AddRange(new[] { "Guybrush Threepwood", "LeChuck" });

var textBox = new TextBox
{
    AutoCompleteCustomSource = source,
    AutoCompleteMode = AutoCompleteMode.SuggestAppend,
    AutoCompleteSource = AutoCompleteSource.CustomSource
};

form.Controls.Add(textBox);

Dies wird automatisch abgeschlossen, wenn der Benutzer versucht, G oder L einzugeben .

AutoCompleteMode.SuggestAppend wird sowohl eine Liste der vorgeschlagenen Werte angezeigt werden, und es wird das erste Spiel automatisch eingeben, Append nur und Suggest nur verfügbar sind, auch.

Erlaube nur Ziffern im Text

textBox.KeyPress += (sender, e) => e.Handled = !char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar);

Dies erlaubt nur die Verwendung von Ziffern und Steuerzeichen in der TextBox . Andere Kombinationen sind möglich, TextBox die Eigenschaft Handle auf true setzen, um den Text zu blockieren.

Der Benutzer kann weiterhin unerwünschte Zeichen kopieren / einfügen. TextChanged sollte der TextChanged zusätzlich überprüft werden, um die Eingabe zu TextChanged :

textBox.TextChanged += (sender, e) => textBox.Text = Regex.Match(textBox.Text, @"\d+").Value

In diesem Beispiel wird ein regulärer Ausdruck verwendet, um den Text zu filtern.

NumericUpDown sollte möglichst für Zahlen bevorzugt werden.

So blättern Sie bis zum Ende

textBox.SelectionStart = textBox.TextLength;
textBox.ScrollToCaret();

Nach demselben Prinzip kann SelectionStart auf 0 gesetzt werden, um nach oben zu scrollen, oder zu einer bestimmten Zahl, um zu einem bestimmten Zeichen zu gelangen.

Platzhalter in ein Textfeld einfügen

Dieser Code setzt den Hinweistext beim Laden des Formulars ein und ändert ihn wie folgt:

C #

private void Form_load(object sender, EventArgs e)
{
    textBox.Text = "Place Holder text...";
}

private void textBox_Enter(object sender, EventArgs e)
{
    if(textBox.Text == "Place Holder text...")
    {
        textBox.Text = "";
    }
}

private void textBox_Leave(object sender, EventArgs e)
{
    if(textBox.Text.Trim() == "")
    {
        textBox.Text = "Place Holder text...";
    }
}

VB.NET

Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    textBox.Text = "Place Holder text..."
End Sub

Private Sub textBox_GotFocus(sender as Object,e as EventArgs) Handles textBox.GotFocus
    if Trim(textBox.Text) = "Place Holder text..." Then
        textBox.Text = ""
    End If
End Sub

Private Sub textBox_LostFocus(sender as Object,e as EventArgs) Handles textBox.LostFocus
    if Trim(textBox.Text) = "" Then
        textBox.Text = "Place Holder text..."
    End If
End Sub


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow