Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

Comparte | 
 

 Ayuda con Formulario Irrepetible

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Cdflik
Programador Intermedio


Mensajes : 26
Puntos : 46

MensajeTema: Ayuda con Formulario Irrepetible   Vie Mayo 13, 2011 3:03 pm

Buenas tengo una pequeña duda lo que pasa esque justamente aqui descargue un codigo para que una forma no se repitiera pero pues tiene un error que me impide usarlo el codigo es el siguiente:

Código:
    public partial class Form1 : Form
    {
        Form frm2 = new Form();
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Metodo();
        }

        public void Metodo(){
           
            if (!this.MdiChildren.Contains(frm2))
            {
                frm2.MdiParent = this;
                frm2.Show();
            }
            else
            {
                frm2.Focus();
            }
        }
    }

La forma es sencilla y solo posee un boton que crea un formulario y lo muestra y si se presiona el boton nuevamente y el formulario esta activo este no se repite ni se abre otro cerrando el actual, el detalle es 1 si el form es cerrado ya no puede ser vuelto a abrir ya que no se puede a ser referencia a un form que ya se cerro o no existe, como puedo solucionar esto digamos que en mi caso tengo la forma en un formulario padre que lo contiene y lo llamo de la siguiente forma:
Código:

private void pruebaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmLocalNuevo f = new frmLocalNuevo();       

                f.MdiParent = this;
                f.Show();
        }
Volver arriba Ir abajo
Ver perfil de usuario http://csharpmaniax.blogspot.com/
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Re: Ayuda con Formulario Irrepetible   Vie Mayo 13, 2011 3:19 pm

Efectivamente Cdflik, el código esta mal, lo buscare para solucionarlo, lo que pasa es que no se debe crear una instancia del objeto hasta que se mande a llamar, esto crea un objeto nuevo cada vez que se requiera, sin importar que el form se cierre y con el "this.MdiChildren.Contains()" lo limitas, te dejo la correccion:


Código:
 public partial class Form1 : Form
    {
        Form frm2;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Metodo();
        }

        public void Metodo(){
           
            if (!this.MdiChildren.Contains(frm2))
            {
                frm2 = new Form();
                frm2.MdiParent = this;
                frm2.Show();
            }
            else
            {
                frm2.Focus();
            }
        }
    }

Buscare el tema para realizar la corrección, si me pasas el link del tema te lo agradecería.
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cdflik
Programador Intermedio


Mensajes : 26
Puntos : 46

MensajeTema: Re: Ayuda con Formulario Irrepetible   Miér Mayo 25, 2011 11:26 pm

Hola muchas gracias por responder ya estuve haciendo pruebas y logre el objetivo solo que tengo un pequeño problema y me gustaria que me ayudaran si saben algo e estado un poco ocupado y no e usado mi lap en mi casa unicamente e usado la del trabajo y esa tiene Visual Studio 2008 y 2010 mi pregunta es porque en Vs2005 cuando intento usar el MDIChildren.Contains() me da un error que no contiene una definicion para Contains lo curioso es que en esta maquina ya habia compilado una solucion que traia este codigo y ahora simplemente no quiere hacerlo:

el error es el siguiente:


Error 1 'System.Array' no contiene una definición para 'Contains'

Aplicacion MDI No Repetir
Esta es la liga de la aplicacion de ejemplo que por cierto ahora tampoco me deja compilarla.
Volver arriba Ir abajo
Ver perfil de usuario http://csharpmaniax.blogspot.com/
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Re: Ayuda con Formulario Irrepetible   Jue Mayo 26, 2011 8:43 am

Ignoro si sea por eso, pero es probable que sea por la versión del .net, la que utiliza el 2005 todavía no tenia el .Contains

Las salidas del visual estudio fueron con la actualización del .Net:

Visual studio 2005 - .Net 2.0
Visual studio 2008 - .Net 3.0 y 3.5
Visual studio 2010 - .Net 4.0

Te recomiendo que utilices el VS 2008, el 2005 ya esta algo obsoleto.

Nota: Si llegaras a encontrar el por que, por favor compártelo, Saludos!!.
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cdflik
Programador Intermedio


Mensajes : 26
Puntos : 46

MensajeTema: Re: Ayuda con Formulario Irrepetible   Lun Mayo 30, 2011 11:01 pm

Pues pasando a comentarte, instale Visual C# Express 2010 y sigo teniendo ese problema el error es el mismo que el que aparecia en visual studio 2005 asi que el detalle es algo mas, estoi en proceso de reinstalar todos los .net framework para ver si el detalle es alguna instalacion defectuosa de alguno.
Volver arriba Ir abajo
Ver perfil de usuario http://csharpmaniax.blogspot.com/
Contenido patrocinado




MensajeTema: Re: Ayuda con Formulario Irrepetible   Hoy a las 11:45 pm

Volver arriba Ir abajo
 
Ayuda con Formulario Irrepetible
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» ayuda con formulario
» [Ayuda] Formulario que cree un post
» RECOMENDAR WEB ¡¡¡¡AYUDA!!!!!
» AYUDA CON INTERNET ME VA LENTÍSIMO. Y AYUDA CON TARJETA SD
» AYUDA POR FAVOR

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Foro de ayuda-
Cambiar a: