Cdflik Programador Intermedio
Mensajes : 26 Puntos : 46
| Tema: 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(); } | |
|
Guillermo Javier Salazar STAFF TEAM
Mensajes : 181 Puntos : 349 Localización : México Comentarios : El azar favorece a una mente preparada.
| Tema: 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. | |
|
Cdflik Programador Intermedio
Mensajes : 26 Puntos : 46
| Tema: 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' [Tienes que estar registrado y conectado para ver este vínculo]Esta es la liga de la aplicacion de ejemplo que por cierto ahora tampoco me deja compilarla. | |
|
Guillermo Javier Salazar STAFF TEAM
Mensajes : 181 Puntos : 349 Localización : México Comentarios : El azar favorece a una mente preparada.
| Tema: 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!!. | |
|
Cdflik Programador Intermedio
Mensajes : 26 Puntos : 46
| Tema: 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. | |
|
Contenido patrocinado
| Tema: Re: Ayuda con Formulario Irrepetible | |
| |
|