Problemas MDI

07/08/2003 - 22:33 por Sergio C. | Informe spam
Hola,
Me estoy volviendo loco con esto del MDI. Vamos a ver, tengo un
formulario MDI, por que ponga lo que ponga en la propiedad Backcolor o
BackgroundImage no me hace caso??? Yo quiero cambiar el color del fondo o
insertar una imagen, pero no funciona. Alguien sabe como hacerlo?.

Y otra cosa, los formularios que se van abriendo necesito que esten
maximizados detro de este MDIparent. Sin embargo, a pesar establecer las
propiedades Controlbox, Maximizebox y Minimizebox a False, estos botones
siguen apareciendo cuando el formulario esta abierto dentro del MDIparent
anterior. Hay alguna forma de hacer que desaparezcan todos los botones?


Gracias

Un saludo,
Sergio C.
 

Leer las respuestas

#1 Marino Posadas
11/08/2003 - 23:17 | Informe spam
Hola Sergio

Si lo que quieres es que cuando una ventana -vamos a llamarla dependiente de
la principal- esté lanzada, no se pueda lanzar otra, es tan fácil como
llamarla con ShowDialog(). No será hija, pero puedes controlar su posición
tamaños mínimo y máximo, etc. Incluso puedes hacer que no se pueda mover, de
manera que objetivo cumplido.

Si, a pesar de todo quieres que sea hija el comportamiento predeterminado es
que al maximizarse, reaparezcan los botones mazimizar y minimizar, para
poder volver al estado inicial. Claro que puedes establecer su propiedad
WindowState a Maximized, y sus propiedades MaximumSize y MinimumSize, para
evitar que se vea menos de lo que tu quieres.


Saludos cordiales
Marino Posadas
MVP .NET Framework

www.ElAveFenix.net


"Sergio C." escribió en el mensaje
news:%

Me contesto a la primera parte:

> Me estoy volviendo loco con esto del MDI. Vamos a ver, tengo un
> formulario MDI, por que ponga lo que ponga en la propiedad Backcolor o
> BackgroundImage no me hace caso??? Yo quiero cambiar el color del fondo


o
> insertar una imagen, pero no funciona. Alguien sabe como hacerlo?.

Pues he encontrado que poniendo este codigo en InitialializeComponent
funciona:

Dim c As Control
For Each c In Me.Controls
If TypeOf c Is MdiClient Then
c.BackColor = Color.Blue (o el que sea)
Exit For
End If
Next


Y sobre esto:

> Y otra cosa, los formularios que se van abriendo necesito que esten
> maximizados detro de este MDIparent. Sin embargo, a pesar establecer las
> propiedades Controlbox, Maximizebox y Minimizebox a False, estos botones
> siguen apareciendo cuando el formulario esta abierto dentro del


MDIparent
> anterior. Hay alguna forma de hacer que desaparezcan todos los botones?

Bueno, pues eso si me gustaria saberlo pero ademas me gustaria pedir
consejo para lo que quiero hacer. Mi intencion era usar un MDI en el cual


se
fueran abriendo los formularios de las distintas partes del programa, pero
solo se podria acceder a uno en cualquier momento, es decir, que no quiero
que sea como el Word que puedes tener 20 documentos abiertos a la vez.


Para
esto, es bueno plantearse hacerlo con MDI? O hay otra solucion mas eficaz?
Porque mi intencion era hacer una barra de herramientas unica para todo el
programa y que iria en el MDIparent, y desde ahi se va llamando al
formulario que se quiera usar (por todo esto tampoco quiero que haya ni
minimizebox ni todas esas cosas). Bueno, no se si me he explicado, pero si
has llegado hasta aqui, gracias por leer este discurso.


Un saludo,
Sergio C.


Preguntas similares