Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Meta en 24 Agosto 2017, 22:06 PM

Título: Limpiar textBox en C#
Publicado por: Meta en 24 Agosto 2017, 22:06 PM
Hola:

En un textbox tengo un contenido, por ejemplo un 0, al hacer clic para escribir, quiero que se borre automáticamente. Nada de seleccoinarlo yo con el ratón y luego borrarlo con Delete. ajjaja.

Lo he intentado de dos maneras y nada.
Código (csharp) [Seleccionar]
private void textBox_Tamaño_EEPROM_KeyDown(object sender, KeyEventArgs e)
       {
           textBox_Tamaño_EEPROM.Clear(); // Limpiar.
       }


Y así:
Código (csharp) [Seleccionar]
      private void textBox_Tamaño_EEPROM_KeyDown(object sender, KeyEventArgs e)
       {
           textBox_Tamaño_EEPROM.Text = ""; // Limpiar.
       }


A parte de eso, solo me deja escribir hasta un carácter.
Título: Re: Limpiar textBox en C#
Publicado por: Yaldabaot en 26 Agosto 2017, 00:45 AM
Revisa sobre los eventos que tiene el control textbox, además de las propiedades donde puedes observar el máximo de los caracteres.
Título: Re: Limpiar textBox en C#
Publicado por: Eleкtro en 5 Septiembre 2017, 03:52 AM
Hola.

1. El evento TextBox.KeyDown, como su nombre indica por si mismo es un evento de teclado, no del ratón. Éste se dispara cuando presionas una tecla (para ser exactos: al momento de pulsarla, no al soltarla).

2. Lo que quieres hacer es una muy mala idea, aparte de ser algo intrusiva. La razón es simple: al intentar editar el texto no podrás seleccionar parte de éste, pues siempre que hagas un click, el texto / la selección se borraría.

Un ejemplo gráfico de lo que acabo de mencionar:
(https://i.imgur.com/fFu1qHx.gif)




Una vez aclarado estos inconvenientes que he explicado aquí arriba, como respuesta a tu pregunta: una solución sería controlar el evento TextBox.Click

Código (csharp) [Seleccionar]
private void textBox_Click(object sender, KeyEventArgs e) {
   DirectCast(sender, TextBox).Clear();
}


Saludos.