Buscar..


Autocompletar a partir de una colección de cadenas

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

Esto se completará automáticamente cuando el usuario intente escribir G o L.

AutoCompleteMode.SuggestAppend Se mostrará tanto una lista de valores sugeridos y se auto escriba el primer partido, Append solamente y Suggest solamente están disponibles, también.

Permitir sólo dígitos en el texto.

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

Esto solo permitirá el uso de dígitos y caracteres de control en el TextBox , otras combinaciones son posibles utilizando el mismo método de configuración de la propiedad Handle en true para bloquear el texto.

El usuario todavía puede copiar / pegar caracteres no deseados, por lo que debería haber una verificación adicional en TextChanged para limpiar la entrada:

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

En este ejemplo, una expresión regular se utiliza para filtrar el texto.

NumericUpDown debería preferirse a los números cuando sea posible.

Cómo desplazarse hasta el final.

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

Aplicando el mismo principio, SelectionStart se puede establecer en 0 para desplazarse a la parte superior o a un número específico para ir a un carácter específico.

Agregar un marcador de posición al cuadro de texto

Este código coloca el texto de la pista en el formulario de carga y lo manipula de la siguiente manera:

DO#

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow