Fomularios saber si ya esta abierto.

05/08/2003 - 12:49 por Yolanda | Informe spam
Hola a todos

Me gustaría controlar que no pudierán abrir el mismo formulario varias veces

Un Saludo

Yolanda

Gracias por adelantado. a los pocos que siguen trabajando.

Preguntas similare

Leer las respuestas

#11 Carlos Durán Urenda
11/08/2003 - 22:52 | Informe spam
Gracias Micke


De hecho, lo que termine haciendo es una coleccion donde cada que habro un
formulario lo registro dentro de la coleccion, de manera que mas adelante
puedo obtener una referencia a dicho formulario, ademas de implemente la
propiedad del item sobrecargada para poder hacer referencia por medio del
nombre del formulario, y no unicamente por el indice (Posicion que ocupa
dentro de la coleccion), en fin, para mis necesidades termine implementando
algo similar a la coleccion Forms que existia en VB, un poco rudimentario,
pero para mi es practico


Muchas Gracias, ya que confirmas muchas de mis sospechas sobre los forms.

Si alguien le sirve el codigo que implemente digame, muy probablemente lo
podamos mejorar


Saludos


Carlos Durán


"Micky" escribió en el mensaje
news:013a01c3601a$794902b0$
disculpen que me meta en su conversacion,



nada que disculpar... es un foro publico. ;)

me ha resultado un mundo completamente diferente, asi
que les pido su compresion



Si, la diferencia es muy grande. En vb6 los objetos son
poco mas que una anécdota, pero con .NET ya se puede (y
se debe) aplicar toda la potencia de los objetos.

No termino de entender lo de los Win Forms, por lo que
veo ahora no existe la coleccion forms



Cierto, no existe. Ahora los forms son (en principio)
independientes unos de otros.

formulario, lo que estoy creando es la definicion de
este mismo, mas no una instancia (verdad)



Efectivamente. En vb6 también era así, pero habia una
instancia por defecto que creaba el propio vb al cargar
el form y que era la que se accedia al hacer
FORM1.loquesea

Ahora ya no hay instancia por defecto, salvo que uses
algun truco como hace el actualizador.

Dim Frm2 As New Form2
esto me crea una instancia en memoria del form2, y puedo
referenciarlo por medio de esta variable, verdad?



Totalmente correcto. :)

Pero que pasa cuando ya no dispongo de la variable?



Pasa que NO puedes acceder al form. :(
Es un principio de la programacion orientada a objetos,
para acceder a un objeto DEBES tener una refencia a él.

Por ejemplo que pasa si de un form1 creo y muestro una
instancia de un form2, y ahora quiero copiar un dato del
form2 al form1... como puedo referenciar al form1?



Los form son objetos, y cada objeto debe tener una
responsabilidad asignada bien definida y comunicarse
exclusivamente mediante métodos y eventos.

En resumen... si tu form debe devolver un dato la forma
es implementar un método público (o varios) que devuelva
el valor en cuestión. Y si debe devolver un dato, pero
sin que lo llamen desde fuera la forma es implementar un
evento.

Seguramente habrás pensado simplemente almacenar una
referencia a form1 en el form2 en una variable pública.
Evidentemente se puede hacer, y así podrías acceder a
form1, pero no es una buena práctica. Si haces eso el
form2 NO FUNCIONA sin el form1, es decir, no podrías
usarlo en otro contexto, no es reutilizable. En general
se debe intentar que los objetos sean lo más
independientes posible.

saber cuales son las instancias cargadas del mismo
formulario?



Esto es mas sencillo, simplemente tienes que guardar
referencia a todas ellas en en array o una colección.

Les agradeceria bastate que me dieran un rumbo,



Espero haberte ayudado, cualquier otra duda que tengas
no dudes en consultar.

Saludos.
Micky.
Respuesta Responder a este mensaje
#12 Carlos Durán Urenda
11/08/2003 - 22:55 | Informe spam
Aprovechando esta Linea


Donde puedo localizar Documentacion en linea de como debo configurar un
proyecto de instaclacion para Windows...

Se que investigando, es facil de enteder, solo que aun esoy un poco perdido


Gracias

Carlos Durán


"Diego F." escribió en el mensaje
news:
Así sobre la marcha se me ocurre que como al fin y al cabo tienes una


clase,
podrías declarar una variable static de tipo int por ejemplo y en el
constructor del formulario consultarla para saber cuántas instancias de la
clase se han creado.


Saludos,

Diego F.

"Yolanda" escribió en el mensaje
news:u%
> Hola a todos
>
> Me gustaría controlar que no pudierán abrir el mismo formulario varias
veces
>
> Un Saludo
>
> Yolanda
>
> Gracias por adelantado. a los pocos que siguen trabajando.
>
>
>
>


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