Foros del Web » Programación para mayores de 30 ;) » .NET »

Evitar abrir mas de un MDIChild

Estas en el tema de Evitar abrir mas de un MDIChild en el foro de .NET en Foros del Web. Hola a todos. Quiero saber si alguien me puede decir como evitar abrir otro mdichild cuando ya se tiene abierto el mismo. Gracias Un saludo. ...
  #1 (permalink)  
Antiguo 21/06/2010, 18:22
(Desactivado)
 
Fecha de Ingreso: julio-2006
Mensajes: 273
Antigüedad: 17 años, 8 meses
Puntos: 5
Pregunta Evitar abrir mas de un MDIChild

Hola a todos.

Quiero saber si alguien me puede decir como evitar abrir otro mdichild cuando ya se tiene abierto el mismo.


Gracias Un saludo.

Por cierto es VB.NET 2005
  #2 (permalink)  
Antiguo 22/06/2010, 15:15
Avatar de eledgarr  
Fecha de Ingreso: octubre-2008
Ubicación: La ciudad de la esperanza
Mensajes: 133
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Evitar abrir mas de un MDIChild

Checate esta linea


CallByName(Application.OpenForms.Item(iI), "aqui procedimiento o variable etc", CallType.Get)


Perdon por no darte el algoritmo completo pero pues es confidencial, pero esa linea es el secreto, suerte
__________________
Si te sirve lo que te escribo regalame un karma positivo
-----------------------------------------------------------------------
Estoy aqui no por que conozco mucho, estoy para ignorar menos
  #3 (permalink)  
Antiguo 23/06/2010, 10:19
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Respuesta: Evitar abrir mas de un MDIChild

Código:
 'Variable pública.
    Private Shared ChildInstance As frmTurnosConsultas = Nothing

    'controla que sólo exista una instancia del formulario.
    Public Shared Function Instance() As frmTurnosConsultas
        If ChildInstance Is Nothing OrElse ChildInstance.IsDisposed = True Then
            ChildInstance = New frmTurnosConsultas
        End If
        ChildInstance.BringToFront()

        Return ChildInstance
    End Function
Luego cuando quieras abrir el form deberas instanciar primero

Código:
 Dim frmTurnosConsultas As frmTurnosConsultas = frmTurnosConsultas.Instance
        frmTurnosConsultas.MdiParent = Me
        frmTurnosConsultas.Show()

Si la form ya esta abierta la traera el frente, quiza lo puedas aplicar a tu caso.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.

Etiquetas: mas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:01.