Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaire et fenêtre

4 réponses
Avatar
Gloops
Bonjour tout le monde,

Je suis un peu effray=E9 par la na=EFvet=E9 de ma question, et en m=EAme =
temps=20
les recherches peuvent partir dans tellement de directions que si=20
quelqu'un me souffle la bonne =E7a peut repr=E9senter un gain de temps=20
appr=E9ciable.

Jusqu'ici j'ai toujours consid=E9r=E9 qu'un formulaire =E9tait une fen=EA=
tre=20
dans le syst=E8me d'exploitation Windows. Or, je m'aper=E7ois que l'objet=
=20
Form ne peut pas =EAtre converti en objet Window (erreur CS0030).

Ou alors, faut-il pr=E9ciser dans quel espace de noms on veut consid=E9re=
r=20
l'objet Window ?


*

Contexte :

Je suis parti sur des chemins de traverse en partant de mon probl=E8me de=
=20
la semaine derni=E8re, obtenir le titre d'une fen=EAtre. Celle d'un=20
formulaire a un avantage : on conna=EEt d=E9j=E0 son titre.

Bien s=FBr, le but n'est pas juste d'obtenir le titre du formulaire=20
puisqu'il a une propri=E9t=E9 pour =E7a, mais d'arriver au m=EAme r=E9sul=
tat par=20
un traitement s'appliquant =E0 une fen=EAtre, pour =EAtre capable d'obten=
ir le=20
titre d'une autre fen=EAtre, et aider =E0 interpr=E9ter une erreur pouvan=
t=20
=EAtre commise.

Apr=E8s j'approfondirai au besoin la notion de "Default Marshaling for=20
Strings", apr=E8s avoir v=E9rifi=E9 les fa=E7ons d'obtenir les num=E9ros =
des=20
fen=EAtres vis=E9es.

Bien entendu avec WindowFromPoint je vais pouvoir trouver une fen=EAtre=20
dont le titre est connu, mais =E7a n'emp=EAche pas cette histoire de fen=EA=
tre=20
d'un formulaire de me trotter dans la t=EAte.

4 réponses

Avatar
Jérémy Jeanson
Bonjour Gloops,

A ma connaissance la classe Window n'existe que dans WPF, ou alors j'ai
raté un truc.

Mais vu que tu as dit faire un Cast de From vers Window, tu dois bien
avoir une référence vers ce type Window, non?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Gloops
Bonjour Jérémy,

Déjà je dois avouer que j'ai pêché sur deux points :
- j'ai copié une implémentation toute prête d'une API, qui déclar e une
classe Window, donc voilà une interférence qui n'aurait pas dû
m'échapper. Si je la renomme Window1 et que je cherche à la faire
dériver de Window, là je me retrouve à poser ma question initiale.
- le navigateur d'objets pouvait me fournir des éléments de réponse ,
même si ils ne sont pas forcément tous exploitables. C'est vrai que d ans
KnownColor, a priori, on va regarder par acquit de conscience ...

Toutefois, voilà qui me donne l'occasion d'un réveil en sursaut : c'e st
vrai que les WPF on en parle depuis un moment, et quand je veux regarder
d'un peu près, je me retrouve avec un "sample" que ça ne dérange pa s de
décompresser 20 Mo, avant de me dire qu'il ne peut rien faire avant
d'avoir activé IIS.

M'est avis que dans ce contexte, la bonne question, c'est :
comment s'y prend-on pour développer avec WPF sous .Net 2 avec Visual
Studio 2005, sur Windows XP Home ?

Et quand on lance une recherche là-dessus dans MSDN en mettant bien
".Net 2" dans les arguments de recherche, les premières réponses part ent
du principe qu'on a .Net 3 d'installé.

Non, je suis mauvaise langue : je n'ai pas mis les guillemets.
Allez, c'est reparti avec ...

_____________________________________________
Jérémy Jeanson a écrit, le 24/03/2009 08:32 :
Bonjour Gloops,

A ma connaissance la classe Window n'existe que dans WPF, ou alors j'ai
raté un truc.

Mais vu que tu as dit faire un Cast de From vers Window, tu dois bien
avoir une référence vers ce type Window, non?


Avatar
Jérémy Jeanson
Bonjour Gloops,

WPF est une partie de .net 3.0, il faut donc ce framework pour l'utiliser.

Pour rappel .net 2.0, 3.0, 3.5 partagent la même CLR. Pour faire simple
les framework 3.0 et 3.5 peuvent être "assimilés" à des sur-couches de
.net 2.0.

Un peu comme un système en pelures d'ognons .net 2.0 peut être
considérer comme le cœur et les framework suivants comme des couches
supplémentaires et successives.

Pour 3.5 il faut 3.0 et 2.0
Pour 3.0 il faut 2.0
Pour 2.0 il ne faut que 2.0 ;)

Sans parler des modifications sur les langages,
- Dans 3.0 tu trouveras en plus de 2.0 : WPF(Presentation),
WCF(Communication) et WF(Workflow)

- Dans 3.5 Linq, Entity et tout les dérivés de Linq + les amélioration
des couches de 3.0

Je parle ici "grossièrement" des différences il faut bien s'entendre sur
le fait qu'il y ait aussi derrière toutes le modifications apportées sur
les classes existantes dans les divers framwork.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Gloops
Gloops a écrit, le 24/03/2009 11:39 :
Et quand on lance une recherche là-dessus dans MSDN en mettant bien
".Net 2" dans les arguments de recherche, les premières réponses pa rtent
du principe qu'on a .Net 3 d'installé.

Non, je suis mauvaise langue : je n'ai pas mis les guillemets.
Allez, c'est reparti avec ...




J'ai effectivement été très mauvaise langue.

Avec comme arguments de recherche
"Windows Presentation Foundation" "Windows XP Home" ".Net 2"

on obtient une seule réponse (ce qui est rare, il faut croire que la
question devait être claire) :
http://msdn.microsoft.com/fr-fr/netframework/bb880957.aspx
Le point sur les différentes versions du Framework .NET

Là, on répète ce que j'ai vu avant, que WPF est inclus dans .NET 3. ça
n'a pas l'air gagné pour l'installer à part ?

Dit autrement en voulant faire un cast d'un Form vers Window, sur .Net
2, je fais fausse route ?

Enfin sous réserve des vérifications pour acquit de conscience que je
mentionnais, sur KnownColor et consor.

Et là, j'ai passé une bonne partie de l'après-midi d'hier à dég ager une
petite dizaine de gigaoctets sur mon disque, pour éviter que Windows
plante en manque de mémoire virtuelle ...