STYLE XP - FLATSTYLE = SYSTEM SUR TOUS LES CONTROLS DE LA FORM
TheEwook
Messages postés155Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention30 mai 2005
-
21 août 2004 à 00:38
jmenfous
Messages postés117Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention 2 juillet 2009
-
10 mai 2007 à 16:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
mdabin
Messages postés4Date d'inscriptionmercredi 15 septembre 2004StatutMembreDernière intervention27 avril 2007 10 mai 2007 à 16:20
Comment faire si on veut modifier les memes proprietes d'un groupe d'objets et non de tous les objets? (C'est à dire sans modifier un par un les propriété de chaque objet ) Peut on indicer les objets comme cela etait possible sous VB6?(Visiblement non; Exemple: Label(i).visible=False )
Merci
jmenfous
Messages postés117Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention 2 juillet 20091 1 nov. 2004 à 17:05
La liberation de la memoire dans le code c'est preferable, le garbage collector autrement dit ramasse miette... il a tendence a ne rammacer que des miettes... lol
Vu que l'on ne trouve pas grand chose sur ce garbage collector, j'ai fais des tests de boucles sur des objets (ecriture, lecture de fichiers XML) avec et sans liberation de la memoire dans le code.
Sur le serveur de test, un Bi-Xeon 2,6 Ghz avec 2Go de RAM ECC. J'ai constate que la memoire n'etait liberee qu'en fin de code. Le temps d'execution n'etait pas tellement plus faible avec liberation memoire. Par contre le meme test avec des threads m'a prouve que le code etait plus fiable avec liberation memoire (dans le cas contraire des fichiers n'etaient pas bien fermes alors que j'utilisais des mutex pour la secrurisation des donnees communes aux differents threads).
Pour conclure, je trouve la liberation a la main plus efficace, plus rapide et surtout tellement plus propre. ;-)
Si qq a fait d'autre tests, je suis preneur de ses conclusions.
PS : pensez a mettre une methode Dispose dans vos classes? Aidons nos petite barettes de memoire. Faitent comme moi utilisez la liberation de la memoire, car elles le valent bien.
Pour le mouvement de liberation de la memoire, donnez vos dons a :
liberation_de_la_memoire@parcequelelevauxbien.com
;-)
CybFabDMI
Messages postés1Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention31 octobre 2004 31 oct. 2004 à 14:52
Bonjour TheEwook,
Tout d'abord merci pour cette transmission de savoir.
Je débarque dans le milieu de la programmation, Vb.Net étant mon premier langage.
J'ai trouvé ton code très intéressant, clair et surtout pour moi très instructif.
J'aimerais te poser une question non pas sur le code lui même mais plus sur ta manière de coder afin de mieux comprendre .Net.
Pourquoi fais-tu une libération implicite de la mémoire au lieu de laisser le CLR du FrameWork.Net s'en charger (grâce à fonction de Garbage Collector)?
Merci d'avance pour ta réponse.
cs_yoda
Messages postés19Date d'inscriptionmardi 29 janvier 2002StatutMembreDernière intervention21 juillet 2005 27 oct. 2004 à 16:08
Je voulais juste dire que j'ai effectivement une source identique. Mais je vais être constructif et d'ici quelques jours je vais mettre en ligne une source qui en plus permet de savoir si WindowsXP se trouve en style classique ou bien en style XP. Parce que si on utilise cette source directement on ne peut jamais modifier la couleur des boutons (FlatStyle = System inhibe la propriété BackColor des boutons) même si Windows XP est en style classique.
jmenfous
Messages postés117Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention 2 juillet 20091 16 sept. 2004 à 12:42
Hello TheEwook
J'ai trouve ce que je cherchais avec la methode
C.GetType.Equals(System.Windows.Forms.Button)
...pour eviter les ToString
Mais j'ai aussi trouve encore plus simple pour appliquer le FlatStyle sur absoluement tt les controls
Public Sub Appliquer_Style_XP(ByVal vCtrl As Control)
Dim C As Object
'recherche de tout les controls
On Error Resume Next 'pour tt les controls sans FlatStyle
For Each C In vCtrl.Controls
C.FlatStyle = FlatStyle.System
If C.Controls.Count > 0 Then Appliquer_Style_XP(C) ' et c'est reparti pour chercher les autres controls qui sont contenus dans C
'Liberation memeoire
C = Nothing
Next
End Sub
cs_chris81
Messages postés589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 21 août 2004 à 08:37
salut,
deja merci pour ton aide pour les photos, ta source est sympa.
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 21 août 2004 à 01:56
cool ta source 8/10
TheEwook
Messages postés155Date d'inscriptionsamedi 3 juillet 2004StatutMembreDernière intervention30 mai 2005 21 août 2004 à 00:38
Si vous mettez une note, mettez au moins un commentaire pour dire ce qui va et ce qui va pas.
10 mai 2007 à 16:53
va voir la source http://www.vbfrance.com/code.aspx?ID=27121
je penses justement répondre à ta même question :)
10 mai 2007 à 16:20
Merci
1 nov. 2004 à 17:05
Vu que l'on ne trouve pas grand chose sur ce garbage collector, j'ai fais des tests de boucles sur des objets (ecriture, lecture de fichiers XML) avec et sans liberation de la memoire dans le code.
Sur le serveur de test, un Bi-Xeon 2,6 Ghz avec 2Go de RAM ECC. J'ai constate que la memoire n'etait liberee qu'en fin de code. Le temps d'execution n'etait pas tellement plus faible avec liberation memoire. Par contre le meme test avec des threads m'a prouve que le code etait plus fiable avec liberation memoire (dans le cas contraire des fichiers n'etaient pas bien fermes alors que j'utilisais des mutex pour la secrurisation des donnees communes aux differents threads).
Pour conclure, je trouve la liberation a la main plus efficace, plus rapide et surtout tellement plus propre. ;-)
Si qq a fait d'autre tests, je suis preneur de ses conclusions.
PS : pensez a mettre une methode Dispose dans vos classes? Aidons nos petite barettes de memoire. Faitent comme moi utilisez la liberation de la memoire, car elles le valent bien.
Pour le mouvement de liberation de la memoire, donnez vos dons a :
liberation_de_la_memoire@parcequelelevauxbien.com
;-)
31 oct. 2004 à 14:52
Tout d'abord merci pour cette transmission de savoir.
Je débarque dans le milieu de la programmation, Vb.Net étant mon premier langage.
J'ai trouvé ton code très intéressant, clair et surtout pour moi très instructif.
J'aimerais te poser une question non pas sur le code lui même mais plus sur ta manière de coder afin de mieux comprendre .Net.
Pourquoi fais-tu une libération implicite de la mémoire au lieu de laisser le CLR du FrameWork.Net s'en charger (grâce à fonction de Garbage Collector)?
Merci d'avance pour ta réponse.
27 oct. 2004 à 16:08
16 sept. 2004 à 12:42
J'ai trouve ce que je cherchais avec la methode
C.GetType.Equals(System.Windows.Forms.Button)
...pour eviter les ToString
Mais j'ai aussi trouve encore plus simple pour appliquer le FlatStyle sur absoluement tt les controls
-----------------------------------------------------------------------
Public Sub Appliquer_Style_XP(ByVal vCtrl As Control)
Dim C As Object
'recherche de tout les controls
On Error Resume Next 'pour tt les controls sans FlatStyle
For Each C In vCtrl.Controls
C.FlatStyle = FlatStyle.System
If C.Controls.Count > 0 Then Appliquer_Style_XP(C) ' et c'est reparti pour chercher les autres controls qui sont contenus dans C
'Liberation memeoire
C = Nothing
Next
End Sub
21 août 2004 à 08:37
deja merci pour ton aide pour les photos, ta source est sympa.
21 août 2004 à 01:56
21 août 2004 à 00:38
merci d'avance