C sharp - Como generar una acción al hacer click en botones generados en tiempo de ejecución.

 
Vista:
sin imagen de perfil

Como generar una acción al hacer click en botones generados en tiempo de ejecución.

Publicado por Metathram (8 intervenciones) el 25/01/2018 15:41:11
Muy buenas compañeros:

He realizado una serie de botones que hacen una serie de comprobaciones en tiempo de ejecución, ahora el problema se me presenta que tengo que clickar sobre esos botones y que realicen una acción dependiendo del color que tengan, haciendo una búsqueda en la db del Numero que devuelve la consulta "TarjetaSIMDAL.IdDelEnlace(SoyElBoton)"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void btnCLP00_VisibleChanged(object sender, EventArgs e)
{
    //// Inicializamos el array.
    Button[,] BotonesArray = new Button[100, 100];
    for (int i = 0; i < BotonesArray.GetLength(0); i++)
    {
        for (int j = 0; j < BotonesArray.GetLength(1); j++)
        {
            // instance the control
            BotonesArray[i, j] = new Button();
            // set some initial properties
            int SoyElBoton = Convert.ToInt32(j.ToString() + i.ToString());
            BotonesArray[i, j].Name = "btnCLP" + j.ToString() + i.ToString();
            BotonesArray[i, j].Text = BotonesArray[i, j].Name; //"";
                                                               // Apñadimos al form.
 
            this.Controls.Add(BotonesArray[i, j]);
            BotonesArray[i, j].Parent = PAsignacionCPL;
            // posicion y tamaño
            BotonesArray[i, j].Location = new Point(25 + i * 65, 25 + j * 48);
            BotonesArray[i, j].Size = new Size(65, 48);
            if (TarjetaSIMDAL.IdDelEnlace(SoyElBoton) > 0)
            {
                //MessageBox.Show(Convert.ToString(TarjetaSIMDAL.IdDelEnlace(SoyElBoton)));
                //MessageBox.Show(SoyElBoton + " " + BotonesArray[i, j]);
                BotonesArray[i, j].Text = ("  CLP" + j.ToString() + i.ToString() + ": " + TarjetaSIMDAL.IdDelEnlace(SoyElBoton));
                BotonesArray[i, j].BackColor = Color.Coral;
                //MessageBox.Show(Convert.ToString(BotonesArray[i, j].Text));
            }
            else
            {
                MessageBox.Show("No tiene telefono asignado");
                BotonesArray[i, j].Font = new Font(btnCLP0.Font.FontFamily, 7);
                BotonesArray[i, j].Text = ("  CLP" + j.ToString() + i.ToString() + ": No asignado");
                BotonesArray[i, j].BackColor = Color.LightGreen;
            }
        }
    }
No he encontrado la manera de que al clickar el botón que se ha generado, saber que botón he pulsado y cual es el valor que se había generado al hacer la consulta.

Me podéis lanzar un cable?

Muchas gracias por todo, Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 707
Oro
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como generar una acción al hacer click en botones generados en tiempo de ejecución.

Publicado por Wilfredo Patricio Castillo (416 intervenciones) el 26/01/2018 00:14:24
Pues la verdad eso lo pudiste hacer mas sencillo

1
2
3
4
5
6
7
8
9
10
11
12
Button Btn[];
 
 
Cuando estás creando dentro del for
 
Btn[i].Name="Btn" + i.ToString();
 
Btn[i].Click += (object s, EventArgs e)=>
{
     dynamic tb=(Button)s;
     //Aqui puedes poner el código que quieres que haga cada uno de tus botones.
};

Luego lo agregas a la coleccion de controles.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Como generar una acción al hacer click en botones generados en tiempo de ejecución.

Publicado por Metathram (8 intervenciones) el 26/01/2018 03:12:48
Eres mi ídolo, sin líos, sin darle vueltas, al grano :).

Muchas gracias, me has resuelto una gran duda.

Un saludo.

+1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 707
Oro
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Como generar una acción al hacer click en botones generados en tiempo de ejecución.

Publicado por Wilfredo Patricio Castillo (416 intervenciones) el 26/01/2018 03:16:32
A tus órdenes en lo que te pueda apoyar.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar