Reiniciar Form

20/04/2004 - 21:51 por Miguel | Informe spam
Bueno siento molestar tanto, pero poco a poco va saliendo
el form.

ahora estoy intentando uqe un boton me reinicialize un
form.
Es un form que crea sus botones dinamicamente (segun una
BD) y necesitaria que al pulsar un ultimo boton me
volviera a dejar la pantalla en el estado inicial.

Lo unico que se me opcurre es cerrarla y volverla a
abrir, pero lo veo poco optimo

si alguien tiene alguna idea sera de agradecer

muchas gracias de antemano un saludo

Preguntas similare

Leer las respuestas

#6 Comando_Calabera
21/04/2004 - 16:30 | Informe spam
Pequeña cosilla que me encuentro.
En principio va de perlas, hago un container y le voy agregando los botones,
despues quando me seleccionan de la primera fila me agrega al container los
de la segunda, el problema esta quando lo borro.
Se borra de maravilla, pero me interesaria que los primeros botonesse me
guardaran (se visualizaran siempre)
no se si es una tonteria, pero sale a cuenta dejarlos fuera del container y
solo agregar al container los otros botones???

gracias por toda la ayuda un saludo

"Jose Marcenaro" escribió en el mensaje
news:
Estas cerca!
Pero en vez de usar un ComponentModel.Container (que no tiene


representacion
visual) instancia un ContainerControl (de System.Windows.Forms), agrega


los
objetos dentro del mismo y luego agrega el container al form.

Para eliminarlo, haces d.Parent.Controls.Remove( d) donde "d" es el
ContainerControl


Prueba este código en un boton de tu form:

cont = new ContainerControl();
cont.Size = New Size(100, 100)
b = new Button()
b.Text = "hola";
cont.Controls.Add(b);
Me.Controls.Add(cont);
MessageBox.Show("Aparecen los controles");
cont.Parent.Controls.Remove( cont);

(por supuesto faltaria asignar la ubicacion precisa del boton en el
container y/o la ubicacion del container, etc)

Saludos
Jose

"Comando_Calabera" escribió en el mensaje
news:%
> He estado intentando lo del container.
> pongo el codigo para ver si es mas comprensible lo que he echo
>
> System.ComponentModel.Container d= new


System.ComponentModel.Container();
>
> System.Data.SqlClient.SqlDataReader variable1;
>
> this.sqlCommand1.Connection=this.sqlConnection1;
>
> this.sqlCommand1.Connection.Open();
>
>
> this.sqlCommand1.CommandText="select NomTipus from Ttipus";
>
> variable1 > >



this.sqlCommand1.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
>
> int i=0;
>
> int s=0;
>
> while(variable1.Read())
>
> {
>
> System.Windows.Forms.Button B = new System.Windows.Forms.Button();
>
> if((50+100*i) >= (this.Size.Width - 50))
>
> {
>
> s++;
>
> i=0;
>
> }
>
> B.Location = new System.Drawing.Point(50+100*i,100+100*s);
>
> B.Size = new System.Drawing.Size(100, 100);
>
> B.TabIndex = 6+i;
>
> B.Text > variable1.GetString(0).ToString()+System.Environment.NewLine+"Tecla
> "+i.ToString();
>
> i++;
>
> d.Add(B);
>
> this.Controls.AddRange(new System.Windows.Forms.Control[] {B});
>
> }
>
> this.sqlCommand1.Connection.Close();
>
> }
>
> Pues mi intension era agregar todos los botones al container, y despues
> borrarlo como tu me dices,
> pero si a la funcion OnClick le pongo d.remove(); me pide un componente
para
> borrar, y si le pongo d.remove(B) (B seria el componente supongo) me


dice
> que no puedo pasarle la B
>
> alguna sugerencia ??
> gracias un saludo
>
> "Jose Marcenaro" escribió en el mensaje
> news:
> > Puedes crear en tu form un contenedor vacio (Panel) para colocar alli
> dentro
> > todos tus botones, para volver atras simplemente destruyes el
contenedor.
> >
> > Saludos
> > Jose
> >
> > "Miguel" escribió en el mensaje
> > news:1d9a01c42710$d25a9bd0$
> > > Bueno siento molestar tanto, pero poco a poco va saliendo
> > > el form.
> > >
> > > ahora estoy intentando uqe un boton me reinicialize un
> > > form.
> > > Es un form que crea sus botones dinamicamente (segun una
> > > BD) y necesitaria que al pulsar un ultimo boton me
> > > volviera a dejar la pantalla en el estado inicial.
> > >
> > > Lo unico que se me opcurre es cerrarla y volverla a
> > > abrir, pero lo veo poco optimo
> > >
> > > si alguien tiene alguna idea sera de agradecer
> > >
> > > muchas gracias de antemano un saludo
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Jose Marcenaro
21/04/2004 - 18:59 | Informe spam
Si, exactamente, puedes hacer eso.

"Comando_Calabera" escribió en el mensaje
news:
Pequeña cosilla que me encuentro.
En principio va de perlas, hago un container y le voy agregando los


botones,
despues quando me seleccionan de la primera fila me agrega al container


los
de la segunda, el problema esta quando lo borro.
Se borra de maravilla, pero me interesaria que los primeros botonesse me
guardaran (se visualizaran siempre)
no se si es una tonteria, pero sale a cuenta dejarlos fuera del container


y
solo agregar al container los otros botones???

gracias por toda la ayuda un saludo

"Jose Marcenaro" escribió en el mensaje
news:
> Estas cerca!
> Pero en vez de usar un ComponentModel.Container (que no tiene
representacion
> visual) instancia un ContainerControl (de System.Windows.Forms), agrega
los
> objetos dentro del mismo y luego agrega el container al form.
>
> Para eliminarlo, haces d.Parent.Controls.Remove( d) donde "d" es el
> ContainerControl
>
>
> Prueba este código en un boton de tu form:
>
> cont = new ContainerControl();
> cont.Size = New Size(100, 100)
> b = new Button()
> b.Text = "hola";
> cont.Controls.Add(b);
> Me.Controls.Add(cont);
> MessageBox.Show("Aparecen los controles");
> cont.Parent.Controls.Remove( cont);
>
> (por supuesto faltaria asignar la ubicacion precisa del boton en el
> container y/o la ubicacion del container, etc)
>
> Saludos
> Jose
>
> "Comando_Calabera" escribió en el mensaje
> news:%
> > He estado intentando lo del container.
> > pongo el codigo para ver si es mas comprensible lo que he echo
> >
> > System.ComponentModel.Container d= new
System.ComponentModel.Container();
> >
> > System.Data.SqlClient.SqlDataReader variable1;
> >
> > this.sqlCommand1.Connection=this.sqlConnection1;
> >
> > this.sqlCommand1.Connection.Open();
> >
> >
> > this.sqlCommand1.CommandText="select NomTipus from Ttipus";
> >
> > variable1 > > >
>



this.sqlCommand1.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
> >
> > int i=0;
> >
> > int s=0;
> >
> > while(variable1.Read())
> >
> > {
> >
> > System.Windows.Forms.Button B = new System.Windows.Forms.Button();
> >
> > if((50+100*i) >= (this.Size.Width - 50))
> >
> > {
> >
> > s++;
> >
> > i=0;
> >
> > }
> >
> > B.Location = new System.Drawing.Point(50+100*i,100+100*s);
> >
> > B.Size = new System.Drawing.Size(100, 100);
> >
> > B.TabIndex = 6+i;
> >
> > B.Text > > variable1.GetString(0).ToString()+System.Environment.NewLine+"Tecla
> > "+i.ToString();
> >
> > i++;
> >
> > d.Add(B);
> >
> > this.Controls.AddRange(new System.Windows.Forms.Control[] {B});
> >
> > }
> >
> > this.sqlCommand1.Connection.Close();
> >
> > }
> >
> > Pues mi intension era agregar todos los botones al container, y


despues
> > borrarlo como tu me dices,
> > pero si a la funcion OnClick le pongo d.remove(); me pide un


componente
> para
> > borrar, y si le pongo d.remove(B) (B seria el componente supongo) me
dice
> > que no puedo pasarle la B
> >
> > alguna sugerencia ??
> > gracias un saludo
> >
> > "Jose Marcenaro" escribió en el mensaje
> > news:
> > > Puedes crear en tu form un contenedor vacio (Panel) para colocar


alli
> > dentro
> > > todos tus botones, para volver atras simplemente destruyes el
> contenedor.
> > >
> > > Saludos
> > > Jose
> > >
> > > "Miguel" escribió en el


mensaje
> > > news:1d9a01c42710$d25a9bd0$
> > > > Bueno siento molestar tanto, pero poco a poco va saliendo
> > > > el form.
> > > >
> > > > ahora estoy intentando uqe un boton me reinicialize un
> > > > form.
> > > > Es un form que crea sus botones dinamicamente (segun una
> > > > BD) y necesitaria que al pulsar un ultimo boton me
> > > > volviera a dejar la pantalla en el estado inicial.
> > > >
> > > > Lo unico que se me opcurre es cerrarla y volverla a
> > > > abrir, pero lo veo poco optimo
> > > >
> > > > si alguien tiene alguna idea sera de agradecer
> > > >
> > > > muchas gracias de antemano un saludo
> > >
> > >
> >
> >
>
>


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