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.

Preguntas similare

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.


Respuesta Responder a este mensaje
#2 Sergio C.
12/08/2003 - 01:12 | Informe spam
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.



Hola,
Primero gracias por responder.
Esa solucion no me sirve porque necesito que sea hija.


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.



Mira, yo necesitaria hacer algo del estilo que he visto en el enlace que
adjunto. Aqui hay una barra de herramientas y los distintos forms se van
cargando como hijos dentro del mismo MDI pero no aparecen botones de
maximizar ni minimizar por ningun lado.

http://www.eurosoft2000.com/eurohot...m/eh04.jpg

He visto muchos programas de ese estilo, y algo asi es lo que necesito
ahora, alguien me puede ayudar?

Un saludo,
Sergio C.
Respuesta Responder a este mensaje
#3 Marino Posadas
12/08/2003 - 19:57 | Informe spam
Hola Sergio

Pues prueba poniendo la ventana sin borde, que es como parece que está en la
foto, + las propiedades maximum y minimum size.

Todas las otras opciones pasan por tocar la ventana con el API de Windows,
que es algo que se debe evitar, en principio.


Saludos cordiales
Marino Posadas
MVP .NET Framework

www.ElAveFenix.net

"Sergio C." escribió en el mensaje
news:
> 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.

Hola,
Primero gracias por responder.
Esa solucion no me sirve porque necesito que sea hija.


> 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.

Mira, yo necesitaria hacer algo del estilo que he visto en el enlace


que
adjunto. Aqui hay una barra de herramientas y los distintos forms se van
cargando como hijos dentro del mismo MDI pero no aparecen botones de
maximizar ni minimizar por ningun lado.

http://www.eurosoft2000.com/eurohot...m/eh04.jpg

He visto muchos programas de ese estilo, y algo asi es lo que necesito
ahora, alguien me puede ayudar?

Un saludo,
Sergio C.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida