Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 17-abr-2007, 02:15   #1 (permalink)
Mysticaliptica no se puede cailificar en este momento
 
Avatar de Mysticaliptica
 
Fecha de Ingreso: abril-2007
Ubicación: Guipuzcoa
Mensajes: 18
C# - Agregar un control en ejecucion

Saludos

Estoy intentando crear una aplicacion en la que me agregen botones dentro de un tableLayoutPanel en el Load del formulario, el numero de filas y columnas no es fijo, pero estoy verde en esto y no se por donde empezar.
Segun mi logica deberia empezar con especificar cuantas filas y columnas kiero verdad? despues, crear los objetos Button, y luego introducirlos dentro del tableLayoutLabel tal vez?
Se me plantearon muchas dudas acerca de como hacerlo ya que tampoco se muy bien el codigo que debo escribir y estoy un poco perdido.

Gracias
Mysticaliptica está desconectado   Responder Citando
Antiguo 18-abr-2007, 10:29   #2 (permalink)
juantux ha deshabilitado el karma
 
Avatar de juantux
 
Fecha de Ingreso: marzo-2005
Mensajes: 58
Enviar un mensaje por MSN a juantux
Re: C# - Agregar un control en ejecucion

Espero te sirva esta solucion, tu aplicala en C#

Código:
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        Dim j As Integer

        For i = 1 To 5
            For j = 1 To 3
                Dim xButton As New Button
                xButton.Name = "Boton" & i & j
                xButton.Visible = True
                AddHandler xButton.Click, AddressOf xButton_Click
                Controls.Add(xButton)
            Next
        Next
    End Sub

    Private Sub xButton_Click(ByVal Sender As Object, ByVal e As System.EventArgs)
        MsgBox("Click boton " & Sender.name)
    End Sub
juantux está desconectado   Responder Citando
Antiguo 20-abr-2007, 05:18   #3 (permalink)
Mysticaliptica no se puede cailificar en este momento
 
Avatar de Mysticaliptica
 
Fecha de Ingreso: abril-2007
Ubicación: Guipuzcoa
Mensajes: 18
Re: C# - Agregar un control en ejecucion

Weno pues esto es lo q he puesto al final:

private void Principal_Load(object sender, EventArgs e)
{
int n_Botones = 50; //Esta variable cambia
TableLayoutPanelCellPosition pos; //Variable posicion de la celda
Boton[] listaBotones = new Boton[n_Botones]; //Control de usuario

for (int i = n_Botones - 1; i >= 0; i--)
{
listaBotones[i] = new Boton();
pos = new TableLayoutPanelCellPosition(i, 0);
Tabla.SetCellPosition(Tabla, pos);//Establezco posicion de la celda
Tabla.Controls.Add(listaBotones[i]);
}
}

Espero q le sirva a alguien algun dia.
Mysticaliptica está desconectado   Responder Citando
Antiguo 22-may-2008, 16:08   #4 (permalink)
dr4k0 ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Respuesta: C# - Agregar un control en ejecucion

Bueno pues a mi me funciono bastante algo de lo ke aki comentaron y yo les envio mi solucion

Código:
 private void AgregaEtiqueta(string str)
        {
            try
            {
                String nomctrl = "lbl_" + il.ToString();
                Label lbl = new Label();
                lbl.Text = str;
                lbl.Location = new Point(10, pos + 20);
                lbl.Visible = true;
                lbl.Name = nomctrl;
                lbl.AutoSize = true;
                lbl.Refresh();
                grpPreview.Controls.Add(lbl);
                grpPreview.Refresh();
                grpPreview.Visible = true;
                lbl = null;
                pos = pos + 20;
                il = il + 1;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
.

Espero ke sto sea de utilidad para alguien mas en este caso yo agrego etiketas y no botones.

Las variables 'il' y 'pos' son contadores uno para la posicion del control y la otra unicamente para generar el nombre (lbl_1, lbl_2, lbl_3... lbl_n).
dr4k0 está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 4,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:39.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93