• Domingo 22 de Diciembre de 2024, 19:06

Autor Tema:  Asignar Evento a Controles creados en un bucle  (Leído 1030 veces)

danielino22

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Asignar Evento a Controles creados en un bucle
« en: Lunes 22 de Diciembre de 2008, 16:00 »
0
Buenas, me acabo de registrar en el foro, aunque ya me ha ayudado bastante, pero ahora necesito ayuda personalizada, aqui les va.


Tengo un form al cual le asigno labels y textbox dentro de un bucle, y tengo un problema quiero asignar a los textbox un evento en keypress para poder hacer que se ingresen solo numeros, cualquier ayuda se agradece, muchas gracias :D

aqui esta el codigo, lo hago en el load del form

Código: Text
  1.         private void DatosChancador_Load(object sender, EventArgs e)
  2.         {
  3.  
  4.  
  5.             Int16 x=0, y = 40;
  6.             for (int i = 0; i < Program.ValorMalla.Length; i++)
  7.             {
  8.                
  9.                 Label lb = new Label();
  10.                 Label lb2 = new Label();
  11.                 TextBox tb = new System.Windows.Forms.TextBox();
  12.                 lb.Text =Convert.ToString(Program.ValorMalla[i]);
  13.                 lb2.Text = Program.TamañoMalla[i];
  14.                 lb.Size = label1.Size;
  15.                 lb.Visible = true;
  16.                 lb2.Font = new System.Drawing.Font("Latha", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
  17.                 lb.Font = new System.Drawing.Font("Latha", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
  18.                 lb2.Visible = true;
  19.                 tb.Name = string.Concat("Txtb", i);
  20.                 tb.Size = textBox1.Size;
  21.                 tb.TabIndex = i;
  22.                 tb.MaxLength = 7;
  23.                 tb.KeyPress +=new KeyPressEventHandler(tb_KeyPress);
  24.                
  25.                 tb.Location= new System.Drawing.Point((x+80),(y-3));
  26.                 lb.Location = new System.Drawing.Point((x +40), (y));
  27.                 lb2.Location = new System.Drawing.Point((x), (y));
  28.                 this.Controls.Add(tb);
  29.                 this.Controls.Add(lb);
  30.                 this.Controls.Add(lb2);
  31.                
  32.                 if (i < 10) { y += 28; }
  33.                 if (i == 10) { y = 40; x = 150; }
  34.                 if (i > 11 && i < 22) { y += 28; }
  35.                 if (i == 22) { y = 40; x = 300; }
  36.                 if (i > 22 && i < 33) { y += 28; }
  37.                 if (i == 33) { y = 40; x = 450; }
  38.                 if (i > 33 && i < 44) { y += 28; }
  39.                 if (i == 44) { y = 40; x = 600; }
  40.                 if (i > 44 && i < 55) { y += 28; }
  41.                
  42.                
  43.             }
  44.        
  45.         }
  46.  
  47.         private void tb_KeyPress(object sender, System.Windows.Forms.KeyEventArgs e)
  48.         {
  49.             TextBox tb = (TextBox)sender;
  50.             MessageBox.Show("holi");
  51.             /*if (e.KeyChar == 8)
  52.             {
  53.                 e.Handled = false;
  54.                 return;
  55.             }
  56.  
  57.  
  58.             bool IsDec = false;
  59.             int nroDec = 0;
  60.  
  61.             for (int i = 0; i < textBox1.Text.Length; i++)
  62.             {
  63.                 if (textBox1.Text[i] == '.')
  64.                     IsDec = true;
  65.  
  66.                 if (IsDec && nroDec++ >= 2)
  67.                 {
  68.                     e.Handled = true;
  69.                     return;
  70.                 }
  71.  
  72.  
  73.             }
  74.  
  75.             if (e.KeyChar >= 48 && e.KeyChar <= 57)
  76.                 e.Handled = false;
  77.             else if (e.KeyChar == 46)
  78.                 e.Handled = (IsDec) ? true : false;
  79.             else
  80.                 e.Handled = true;
  81.  
  82.         */
  83.         }
  84.  

danielino22

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Asignar Evento a Controles creados en un bucle
« Respuesta #1 en: Lunes 22 de Diciembre de 2008, 16:31 »
0
Ya lo solucione, tenia un problema muy simple:
private void tb_KeyPress(object sender, System.Windows.Forms.KeyEventArgs e)

habia q utilizar

  private void tb_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)


lo puse por si a alguien le puede servir :D


Tengo otra consulta, Ya que cree los textbox en el load, me los genera con los sgtes names "texto1", "texto2"...."texton"

ahora cree un boton aceptar y quiero asignar los valores de cada textbox a un array, como podia hacerlo?


gracias de antemano