Tengo un formulario con una vista de árbol en un lado. Dependiendo de qué nodo esté seleccionado, quiero mostrar diferentes contenidos a la derecha. Para mantener el código y los controles manejables, mi plan era aislar el contenido en formularios separados y mostrar el formulario dentro de un panel.Parent un formulario para un panel
En mi TreeView caso AfterSelect, he intentado crear instancias de la forma, y el establecimiento de su padre a un panel, pero puedo obtener una excepción "control de nivel superior no se puede añadir a un control.":
Form frmShow = new MyForm();
frmShow.Parent = this.pnlHost;
Este no es una configuración de MDI, pero traté de establecer los formularios de la propiedad MdiParent en el formulario principal y luego establecer la propiedad Parent del formulario en el panel, pero obtengo una excepción "El formulario que se especificó como el MdiParent para este formulario no es un MdiContainer . Nombre del parámetro: valor ":
Form frmShow = new MyForm();
frmShow.MdiParent = this;
frmShow.Parent = this.pnlConfigure;
No puedo establecer el formulario como contenedor de MDI porque no es un formulario de nivel superior, en realidad es un formulario que está acoplado dentro de un formulario principal (utilizando la biblioteca de acoplamiento de WeifenLuo).
¿Hay alguna forma de organizar un formulario en un panel en un marco sin MDI?
¡Se ha modificado para usar UserControls en su lugar! – Jeremy
OK, ¿eso resolvió los problemas? –
@Henk - Sí. los controles del usuario eran la forma correcta de hacerlo, Formularios era un enfoque equivocado, debería haberlo visto desde el principio. – Jeremy