OVH Cloud OVH Cloud

backcolor

1 réponse
Avatar
Twix
bonjour,

j'ai mis une couleur de fond dans ma fenetre MDI principale avec la
propriete BackColor
mais à l'execution je ne vois pas la couleur.

pourquoi ??
comment resoudre ce probleme ?

merci a tous ce qui m'aiderons

au revoir

1 réponse

Avatar
Fabien Bezagu
Salut Twix,

Tout d'abord, j'utilise VS2005 et je ne sais pas si le comportement et la
solution que je vais décrire peuvent être transposés pour les versions
antérieures.

La raison pour laquelle la couleur de fond n'est pas changée est qu'une form
MdiContainer crée automatiquement un control MdiClient qui est docké pour
remplir la zone cliente de la form. Bien entendu, sa couleur est
SystemColors.AppWorkspace. Lorsque tu changes la couleur de fond de la form,
la couleur de fond du control MdiClient n'est pas changée.

Pour contourner ce fontionnement que je trouve un peu bizzare, il faut
utiliser le code suivant :

Dim ctl As Control
For Each ctl In Me.Controls
If TypeOf ctl Is MdiClient Then
ctl.BackColor = Color.DarkBlue
End If
Next

Pour comprendre tout cela, tu peux utiliser l'outil reflector.

J'ai également vu, après une recherche rapide sur google, que les articles
suivant traitent du problème et y apportent à peu près la même solution :

http://www.dotnet247.com/247reference/msgs/26/134728.aspx
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c4c.aspx#q799q

Fabien

"Twix" a écrit dans le message de news:
42e9dbda$0$5649$
bonjour,

j'ai mis une couleur de fond dans ma fenetre MDI principale avec la
propriete BackColor
mais à l'execution je ne vois pas la couleur.

pourquoi ??
comment resoudre ce probleme ?

merci a tous ce qui m'aiderons

au revoir