Arreglo en Formulario

20/05/2010 - 21:01 por CG | Informe spam
Visual C# 2008

Hola a todos

Ejemplo sencillo: Tengo un Formulario con un solo TextBox. En él debo
ingresar un Número. Al pulsar en Aceptar se ingresa en un Vector de tamaño 4.
El TextBox se limpia, para permitir ingresar los demás valores. La duda es la
siguiente:

¿Cómo hacer para que me permita ingresar como máximo 4 valores numéricos
(tamaño del Vector) y luego el control TextBox se desactive?

Desde ya Muchísimas Gracias

Carlos García

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
20/05/2010 - 21:19 | Informe spam
"CG" wrote in message
news:
Ejemplo sencillo: Tengo un Formulario con un solo TextBox. En él debo
ingresar un Número. Al pulsar en Aceptar se ingresa en un Vector de tamaño
4.
El TextBox se limpia, para permitir ingresar los demás valores. La duda es
la
siguiente:

¿Cómo hacer para que me permita ingresar como máximo 4 valores numéricos
(tamaño del Vector) y luego el control TextBox se desactive?



Ve llevando un contador, y cuando llegues al máximo, ponle Enabled=false
al textBox. O mejor dicho, ponle Enabled=false al botón Aceptar, que es el
que ya no se debe pulsar más; el textBox da igual que lo dejes habilitado.

int[] vetor = new int[4];
int numero = 0;
...
private void button1_Click(object sender, EventArgs e)
{
vector[numero++] = int.Parse(textBox1.Text);
if (numero==4) button1.Enabled=false;
}
Respuesta Responder a este mensaje
#2 CG
23/05/2010 - 18:17 | Informe spam
Excelente tu respuesta. Gracias

Ahora, no es posible utilizar un bucle como while para ir verificando la
posición en la que se insertan los elementos y cuando se llege al
GetUpperBound(x) bloquee el ingreso de más elementos. Esa fue la idea
original (creo que sería más técnico).
O es complicarse innecesariamente con el código.

Desde ya Muchísimas Gracias

Carlos García
Respuesta Responder a este mensaje
#3 Alberto Poblacion
23/05/2010 - 20:34 | Informe spam
"CG" wrote in message
news:
Ahora, no es posible utilizar un bucle como while para ir verificando la
posición en la que se insertan los elementos y cuando se llege al
GetUpperBound(x) bloquee el ingreso de más elementos. Esa fue la idea
original (creo que sería más técnico).
O es complicarse innecesariamente con el código.



Puedes si quieres usar el GetUperBound(0), o mejor todavía la propiedad
Length del array, que para un array unidimensional te devuelve el mismo
valor pero es más fácil de escribir.
Pero en mi opinión, es innecesario en un programa como este. Puesto que
los arrays en C# no se pueden redimensionar, y una vez creados la longitud
es siempre fija, puedes usar la misma variable que usaste al crear el array
para comprobar el límite de elementos. Soy partidario de definirla como
constante:

const int NELEM = 4;
...
int[] vector = new int[NELEM];
int numero = 0;
...
private void button1_Click(object sender, EventArgs e)
{
vector[numero++] = int.Parse(textBox1.Text);
if (numero==NELEM) button1.Enabled=false;
}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida