OVH Cloud OVH Cloud

Propriété Visible d'un formulaire

3 réponses
Avatar
ShadowFil
Bonjour,

Dans la doc du framework, il est dit que la propriété Visible d'un Control
WindowsForm est true si le contrôle est affiché. Or, tant que le gestionnaire
d'évènement Load() n'est pas terminé, le formulaire ne peut pas être affiché.
Non ?
Or, dans mon application test, il est true pendant l'exécution de Load() ?

Quelqu'un pourrait m'expliquer pourquoi ?

Merci de votre aide.

3 réponses

Avatar
Paul Bacelar
"ShadowFil" wrote in message
news:
Bonjour,

Dans la doc du framework, il est dit que la propriété Visible d'un Control
WindowsForm est true si le contrôle est affiché. Or, tant que le


gestionnaire
d'évènement Load() n'est pas terminé, le formulaire ne peut pas être


affiché.
Non ?
Or, dans mon application test, il est true pendant l'exécution de Load() ?

Quelqu'un pourrait m'expliquer pourquoi ?

Merci de votre aide.



Vous confondez trois aspects importants, la visibilité vue de l'utilisateur,
le fait que le contrôle soit affiché et le fait que le contrôle souhaite s'
afficher.

La propriété Visible d'un control sera a true même si ce contrôle est caché
par une fenêtre d'une autre application, par une fenêtre de la même
application et même si un contrôle dans le même conteneur (la form ou le
panel contenant le contrôle) s'affiche au-dessus de lui.

La propriété Visible d'un control n'est pas un membre qui indique si la
fenêtre(Win32, Kernel) qui affiche le control est visible par l'utilisateur
( si la fenêtre est partiellement caché par une autre fenêtre, on aurait des
% de TRUE correspondant au % de la surface visible), mais indique au
composant conteneur de ce control que le conteneur voudrait s'afficher sur
la surface du conteneur.

Dans le Load, le control indique au conteneur qu'il souhaite que la méthode
Paint du contrôle soit appelé par la méthode Paint du conteneur.

Par transitivité, si un conteneur ne souhaite pas s'afficher mais que les
contrôles contenus dans celui-cile souhaite, les contrôles ne seront pas
affichés car le Paint du conteneur ne sera pas appelé donc encore moins les
méthodes Paint des contrôles contenus.


--
Paul Bacelar
Avatar
ShadowFil
Si je comprends bien, je peux avoir tous les contrôles de mon formulaire à
Visible=true et un des conteneurs parents à false, en même temps !

Donc :
-> Visible != dessiné
-> Visible = si mon conteneur est dessiné, je veux être désiné aussi


"Paul Bacelar" a écrit :

"ShadowFil" wrote in message
news:
> Bonjour,
>
> Dans la doc du framework, il est dit que la propriété Visible d'un Control
> WindowsForm est true si le contrôle est affiché. Or, tant que le
gestionnaire
> d'évènement Load() n'est pas terminé, le formulaire ne peut pas être
affiché.
> Non ?
> Or, dans mon application test, il est true pendant l'exécution de Load() ?
>
> Quelqu'un pourrait m'expliquer pourquoi ?
>
> Merci de votre aide.

Vous confondez trois aspects importants, la visibilité vue de l'utilisateur,
le fait que le contrôle soit affiché et le fait que le contrôle souhaite s'
afficher.

La propriété Visible d'un control sera a true même si ce contrôle est caché
par une fenêtre d'une autre application, par une fenêtre de la même
application et même si un contrôle dans le même conteneur (la form ou le
panel contenant le contrôle) s'affiche au-dessus de lui.

La propriété Visible d'un control n'est pas un membre qui indique si la
fenêtre(Win32, Kernel) qui affiche le control est visible par l'utilisateur
( si la fenêtre est partiellement caché par une autre fenêtre, on aurait des
% de TRUE correspondant au % de la surface visible), mais indique au
composant conteneur de ce control que le conteneur voudrait s'afficher sur
la surface du conteneur.

Dans le Load, le control indique au conteneur qu'il souhaite que la méthode
Paint du contrôle soit appelé par la méthode Paint du conteneur.

Par transitivité, si un conteneur ne souhaite pas s'afficher mais que les
contrôles contenus dans celui-cile souhaite, les contrôles ne seront pas
affichés car le Paint du conteneur ne sera pas appelé donc encore moins les
méthodes Paint des contrôles contenus.


--
Paul Bacelar





Avatar
Paul Bacelar
"ShadowFil" wrote in message
news:
Si je comprends bien, je peux avoir tous les contrôles de mon formulaire à
Visible=true et un des conteneurs parents à false, en même temps !

Donc :
-> Visible != dessiné



Oui, ;-)

-> Visible = si mon conteneur est dessiné, je veux être désiné aussi




Oui, ;-)

Et quand un control dit à son conteneur, via sa propriété Visible (du
contrôle pas du conteneur ;-) ), qu'il voudrait être affiché, le conteneur
appel la méthode Paint du contrôle.



"Paul Bacelar" a écrit :

> "ShadowFil" wrote in message
> news:
> > Bonjour,
> >
> > Dans la doc du framework, il est dit que la propriété Visible d'un


Control
> > WindowsForm est true si le contrôle est affiché. Or, tant que le
> gestionnaire
> > d'évènement Load() n'est pas terminé, le formulaire ne peut pas être
> affiché.
> > Non ?
> > Or, dans mon application test, il est true pendant l'exécution de


Load() ?
> >
> > Quelqu'un pourrait m'expliquer pourquoi ?
> >
> > Merci de votre aide.
>
> Vous confondez trois aspects importants, la visibilité vue de


l'utilisateur,
> le fait que le contrôle soit affiché et le fait que le contrôle souhaite


s'
> afficher.
>
> La propriété Visible d'un control sera a true même si ce contrôle est


caché
> par une fenêtre d'une autre application, par une fenêtre de la même
> application et même si un contrôle dans le même conteneur (la form ou le
> panel contenant le contrôle) s'affiche au-dessus de lui.
>
> La propriété Visible d'un control n'est pas un membre qui indique si la
> fenêtre(Win32, Kernel) qui affiche le control est visible par


l'utilisateur
> ( si la fenêtre est partiellement caché par une autre fenêtre, on aurait


des
> % de TRUE correspondant au % de la surface visible), mais indique au
> composant conteneur de ce control que le conteneur voudrait s'afficher


sur
> la surface du conteneur.
>
> Dans le Load, le control indique au conteneur qu'il souhaite que la


méthode
> Paint du contrôle soit appelé par la méthode Paint du conteneur.
>
> Par transitivité, si un conteneur ne souhaite pas s'afficher mais que


les
> contrôles contenus dans celui-cile souhaite, les contrôles ne seront


pas
> affichés car le Paint du conteneur ne sera pas appelé donc encore moins


les
> méthodes Paint des contrôles contenus.
>
>
> --
> Paul Bacelar
>
>
>




--
Paul Bacelar