Bonjour Stéphane,
Je pense que tu te méprends un peu en ce qui soncerne SuspendLayout et
ResumeLayout. Ce sont deux méthode qui servent à piloter succintement le
moteur qui fait le rendu des controls. En gros quand on le suspend il ne
travail plus. Cela ne veux pas dire que l'état de tes control vas être
conservé, juste que l'affichage ne répondra pas si on lui demande de faire
un rafraichissement.
Concrètement, tu lances SuspendLayout sur un formulaire, si pour une
raison ou un autre une autre application ou un formulaire passe devant le
tiends, tu auras le droits à un formulaire partiellement blanc à
l'emplacement où l'autre application est passée.
Ceci sert principalement quand on modifie plusieurs controls sans que ceci
déclenche le rafraichissements de l'interface (et donc prenne du temps sur
l'opération que l'on a en cours). Vu que ce n'est pas très esthétique si
un autre formulaire passe par là à ce moeent, on a tendance à faire cela
formulaire caché.
Dans ton cas tu semble avoir un souci de rafraichissement, mais à quel
moment? es tu bien certain que ce soit sur le Show()... n'aurrais tu pas
des event Form_Load() un peu trop chargés?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Je pense que tu te méprends un peu en ce qui soncerne SuspendLayout et
ResumeLayout. Ce sont deux méthode qui servent à piloter succintement le
moteur qui fait le rendu des controls. En gros quand on le suspend il ne
travail plus. Cela ne veux pas dire que l'état de tes control vas être
conservé, juste que l'affichage ne répondra pas si on lui demande de faire
un rafraichissement.
Concrètement, tu lances SuspendLayout sur un formulaire, si pour une
raison ou un autre une autre application ou un formulaire passe devant le
tiends, tu auras le droits à un formulaire partiellement blanc à
l'emplacement où l'autre application est passée.
Ceci sert principalement quand on modifie plusieurs controls sans que ceci
déclenche le rafraichissements de l'interface (et donc prenne du temps sur
l'opération que l'on a en cours). Vu que ce n'est pas très esthétique si
un autre formulaire passe par là à ce moeent, on a tendance à faire cela
formulaire caché.
Dans ton cas tu semble avoir un souci de rafraichissement, mais à quel
moment? es tu bien certain que ce soit sur le Show()... n'aurrais tu pas
des event Form_Load() un peu trop chargés?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Bonjour Stéphane,
Je pense que tu te méprends un peu en ce qui soncerne SuspendLayout et
ResumeLayout. Ce sont deux méthode qui servent à piloter succintement le
moteur qui fait le rendu des controls. En gros quand on le suspend il ne
travail plus. Cela ne veux pas dire que l'état de tes control vas être
conservé, juste que l'affichage ne répondra pas si on lui demande de faire
un rafraichissement.
Concrètement, tu lances SuspendLayout sur un formulaire, si pour une
raison ou un autre une autre application ou un formulaire passe devant le
tiends, tu auras le droits à un formulaire partiellement blanc à
l'emplacement où l'autre application est passée.
Ceci sert principalement quand on modifie plusieurs controls sans que ceci
déclenche le rafraichissements de l'interface (et donc prenne du temps sur
l'opération que l'on a en cours). Vu que ce n'est pas très esthétique si
un autre formulaire passe par là à ce moeent, on a tendance à faire cela
formulaire caché.
Dans ton cas tu semble avoir un souci de rafraichissement, mais à quel
moment? es tu bien certain que ce soit sur le Show()... n'aurrais tu pas
des event Form_Load() un peu trop chargés?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
PS : je n'ai pas le choix, ca fait partie du cahier des charges.
pffff, on a toujours un peu le chois, enfin d'une certaine manière. On te
demande de n'afficher qu'une fenêtre à la fois, alors pourquoi finalement
ne pas charger qu'une fenêtre et n'instancier les autres qu'au moment où
tu en as besoin.
Techniquement personne n'ira regarder si toutes tes fenêtres sont
chargées. si on en veux une on l'instancie et on ferme la dernière
ouverte. Tu y gagneras en ressources utilisées et surtout tu
t'affranchiras des soucis de switch entre les filles mdi qui de toutes
manière arriveront bien à un moment car pour interdire l'accès à une autre
fenêtre la méthode la plus viable reste toujours je ShowModal()...
Attention, à vouloir réinventer la roue on se complique bien trop souvent
le travail et on fini par inclure des erreurs que l'on aurait souhaité
éviter.
Petite question : si on synthétise ton besoin tu as en fais un dispositif
dans le quel tu dois afficher des vues particulières en fonction de la
demande de ton utilisateur.
As tu vraiment besoin dans ce cadre d'utiliser du MDI? Ne serrait il pas
plus simple d'avoir un formulaire avec tes commandes et que celui-ci
héberge tes vue(Celles ci pouvant être des UserControl par exemple) en
switchant d'une vue à l'autre (et donc en instanciant le control utile
dans sa zone destinée à l'afifchage)?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
PS : je n'ai pas le choix, ca fait partie du cahier des charges.
pffff, on a toujours un peu le chois, enfin d'une certaine manière. On te
demande de n'afficher qu'une fenêtre à la fois, alors pourquoi finalement
ne pas charger qu'une fenêtre et n'instancier les autres qu'au moment où
tu en as besoin.
Techniquement personne n'ira regarder si toutes tes fenêtres sont
chargées. si on en veux une on l'instancie et on ferme la dernière
ouverte. Tu y gagneras en ressources utilisées et surtout tu
t'affranchiras des soucis de switch entre les filles mdi qui de toutes
manière arriveront bien à un moment car pour interdire l'accès à une autre
fenêtre la méthode la plus viable reste toujours je ShowModal()...
Attention, à vouloir réinventer la roue on se complique bien trop souvent
le travail et on fini par inclure des erreurs que l'on aurait souhaité
éviter.
Petite question : si on synthétise ton besoin tu as en fais un dispositif
dans le quel tu dois afficher des vues particulières en fonction de la
demande de ton utilisateur.
As tu vraiment besoin dans ce cadre d'utiliser du MDI? Ne serrait il pas
plus simple d'avoir un formulaire avec tes commandes et que celui-ci
héberge tes vue(Celles ci pouvant être des UserControl par exemple) en
switchant d'une vue à l'autre (et donc en instanciant le control utile
dans sa zone destinée à l'afifchage)?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
PS : je n'ai pas le choix, ca fait partie du cahier des charges.
pffff, on a toujours un peu le chois, enfin d'une certaine manière. On te
demande de n'afficher qu'une fenêtre à la fois, alors pourquoi finalement
ne pas charger qu'une fenêtre et n'instancier les autres qu'au moment où
tu en as besoin.
Techniquement personne n'ira regarder si toutes tes fenêtres sont
chargées. si on en veux une on l'instancie et on ferme la dernière
ouverte. Tu y gagneras en ressources utilisées et surtout tu
t'affranchiras des soucis de switch entre les filles mdi qui de toutes
manière arriveront bien à un moment car pour interdire l'accès à une autre
fenêtre la méthode la plus viable reste toujours je ShowModal()...
Attention, à vouloir réinventer la roue on se complique bien trop souvent
le travail et on fini par inclure des erreurs que l'on aurait souhaité
éviter.
Petite question : si on synthétise ton besoin tu as en fais un dispositif
dans le quel tu dois afficher des vues particulières en fonction de la
demande de ton utilisateur.
As tu vraiment besoin dans ce cadre d'utiliser du MDI? Ne serrait il pas
plus simple d'avoir un formulaire avec tes commandes et que celui-ci
héberge tes vue(Celles ci pouvant être des UserControl par exemple) en
switchant d'une vue à l'autre (et donc en instanciant le control utile
dans sa zone destinée à l'afifchage)?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Re,
En fais je n'ai peut être pas été assez claire :(
Je dont je parlais consitait à rempalcer chaque formulaire par un
UserControl. Comme cela tu gardes ton idée de découpage.
Ensuite tu charges le UserControl dont tu as besoin dans un conteneur
quelconque. Et tuswitch le UserControl en fonction de ce que demande
l'utilisateur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Re,
En fais je n'ai peut être pas été assez claire :(
Je dont je parlais consitait à rempalcer chaque formulaire par un
UserControl. Comme cela tu gardes ton idée de découpage.
Ensuite tu charges le UserControl dont tu as besoin dans un conteneur
quelconque. Et tuswitch le UserControl en fonction de ce que demande
l'utilisateur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Re,
En fais je n'ai peut être pas été assez claire :(
Je dont je parlais consitait à rempalcer chaque formulaire par un
UserControl. Comme cela tu gardes ton idée de découpage.
Ensuite tu charges le UserControl dont tu as besoin dans un conteneur
quelconque. Et tuswitch le UserControl en fonction de ce que demande
l'utilisateur.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr