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

}

}

Preguntas similare

Leer las respuestas

#6 Vyacheslav Popov
10/07/2006 - 17:53 | Informe spam
Puedes crear un textBox personalizado:

public class MiBoton : TextBox
{
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (e.KeyChar < 0 && e.KeyChar > 9)
e.Handled = true;

base.OnKeyPress(e);
}

protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);

this.Text = string.Empty;
}

protected override void OnLeave(EventArgs e)
{
base.OnLeave(e);

if (this.Text == string.Empty)
this.Text = "0000000";
}
}

Y luego utilizas tu TextBox personalizado en lugar de TextBox "normal"


Saludos.



"AT Baez" escribió en el mensaje
news:9qesg.6751$
Hola Vyacheslav,
Me puedes dar algunas pistas?
Gracias,
Alberto
-
"Vyacheslav Popov" wrote in message
news:%23oxv$
Otra solución es crear un control personalizado (superclase) que se
encargaría de hacer las operaciones comunes.

Saludos.
"AT Baez" escribió en el mensaje
news:j_rrg.4552$
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();

}

}









email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida