Codigo compacto, bien estructurado y facil de leer

07/07/2006 - 13:57 por AT Baez | Informe spam
Buenos días,

Disculpen si el tema escogido confunde (traté de expresar mi objetivo).

Mi problema:

o tengo seis textBox(s).

o cada textBox responde a tres eventos (los mismos en cada caso:
"Enter", "KeyPress" y "Leave").

o los eventos: (Enter) borra el contenido, (KeyPress) solo números,
(Leave) asigna el valor.

Mi consulta:

Me pueden sugerir una solución de código compacto, bien estructurado y
fácil de leer.

El problema anterior lo resolvía en vb6 con una matriz de controles.



Pongo el codigo abajo por si no se entiende algo; muchas gracias,

Alberto



Mi código (que tendría que repetir seis veces):


private void textBox1_Enter(object sender, EventArgs e)

{

if (textBox1.Text != string.Empty) // Borro el contenido

textBox1.Text = string.Empty;

}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

{

if (!soloNum(e.KeyChar)) // Llamada al método soloNum

e.Handled = true;

}

private void textBox1_Leave(object sender, EventArgs e)

{

if (textBox1.Text != string.Empty)

{

v[0] += int.Parse(textBox1.Text); // Hago la asignación

label1.Text = v[0].ToString();

}

}
 

Leer las respuestas

#1 Alfredo Novoa
07/07/2006 - 14:16 | Informe spam
On Fri, 07 Jul 2006 11:57:03 GMT, "AT Baez"
wrote:


Mi código (que tendría que repetir seis veces):



No hace falta repetir nada, puedes asignar los mismos métodos a los
eventos de cada textBox.

private void textBox1_Enter(object sender, EventArgs e)

{

if (textBox1.Text != string.Empty) // Borro el contenido

textBox1.Text = string.Empty;

}



Mejor así:

private void textBox_Enter(object sender, EventArgs e)

{
TextBox textBox = sender as TextBox;

if (textBox.Text != string.Empty) // Borro el contenido
textBox.Text = string.Empty;
}

Este te sirve para los 6 textBox.


Saludos
Alfredo

Preguntas similares