Zoeken…


Automatische aanvulling van een verzameling strings

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);

Dit zal de auto automatisch aanvullen wanneer de gebruiker G of L probeert te typen.

AutoCompleteMode.SuggestAppend zullen beide scherm een lijst met voorgestelde waarden en zal het automatisch typt u de eerste wedstrijd, Append alleen en Suggest alleen beschikbaar zijn, ook.

Sta alleen cijfers in de tekst toe

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

Dit staat alleen het gebruik van cijfers en controletekens in de TextBox , andere combinaties zijn mogelijk met dezelfde methode om de eigenschap Handle in te stellen op true om de tekst te blokkeren.

De gebruiker kan nog steeds ongewenste tekens kopiëren / plakken, dus een extra controle op de TextChanged moet de invoer TextChanged :

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

In dit voorbeeld wordt een reguliere expressie gebruikt om de tekst te filteren.

NumericUpDown verdient indien mogelijk de voorkeur voor nummers.

Hoe naar het einde te scrollen

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

Volgens hetzelfde principe kan SelectionStart worden ingesteld op 0 om naar boven te scrollen of op een specifiek nummer om naar een specifiek teken te gaan.

Een tijdelijke aanduiding toevoegen aan tekstvak

Deze code plaatst de hinttekst bij het laden van het formulier en manipuleert deze als volgt:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow