FONCTIONNALITÉ RETROUVÉ DES FORM VB6 SANS BRICOLAGE EN .NET

jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 - 23 sept. 2004 à 20:51
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 - 4 juil. 2005 à 17:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26357-fonctionnalite-retrouve-des-form-vb6-sans-bricolage-en-net

jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
4 juil. 2005 à 17:04
Tu pourrais peut etre te simplifier la vie en notant le control qui doit changer de couleur (on utilise souvant en le designant par sender).

En utilisant un syntaxe du
style :
function remplis(byval r_richtextbox as richtextbox ,byval message as string)

et que tu l'utilise comme ca :
remplis(me.richtextbox,"....")
dans ta forme qui contient le richtextbox. Ca passera tout seul. C'est bien plus pratique, car quand tu l'appels tu ne cherches pas sa feuille.

Ou bien si tu veux l'utiliser dans ta forme mere, appel la a partir de ta mdichild, mais ca fait des intermediaires... ce n'est pas genial.

Bonne chance
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 7
4 juil. 2005 à 16:17
ben en fait , dans mon module , j'ai toute une fonction de traitement des couleur irc et qui remplis automatiquement le controle richtextbox qui est sur la form designé

avec une finction comme ca :

public function remplis(byval f_form as form,byval message as string)

donc pour etre clait , dans ma form principale , j'ai mon socket qui envois ensuite la phrase a traiter au module et ensuite c le module qui se charge de remplir la richtextbox

en fesant des bouche pour retrouve la bonne forme et le bon contols qui est sur la child ca fonctionne mais c long

tu vois !

dur dur
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
4 juil. 2005 à 16:08
??? Scruter les mdichilds pour ecrire dedans ???
.... mais a quelles fins???

je ne comprend pas vraiement pourquoi tu fais cela. Personnellement, et j'espere que je ne suis pas le seul, je travail par passage d'arguments:
J'appel une methode dans ma forme qui permet de l'initiliser et de l'afficher.
Comme ca si je doit avoir un retour, je le fais par la methode appellee, c pas plus complique que ca.

Donc une mdichild qui doit travailler avec une autre n'ecrit pas sur ses controles, mais recuperera le resultat valide et controle par ma methode de la forme appellee... ca fais bien moins de travail quand on veut changer son code de validation.

Si cette methode peut t'aider, vas y ca marche. Si je n'ai pas compris ton probleme, dis le. merci
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 7
4 juil. 2005 à 12:59
quand on n'a des forme dynamique on n'a d'autre moyen de les declarer

quand dans un module on veut replit un richtextbox qui se trouve dans une mdichil
on doit faire X boucle c pas pratique je trouve
on doit passer en boucle toute les mdichid
puis sur cette mdichild repasser tous les controls en revu

c vraiment pas pratique

pffff
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
27 juin 2005 à 09:28
On avait deja ca, lol ;-)

Pas besoin de .Net 2 le retour. Il existe deja une collection forms.... et le fameux my ne fait que l'utiliser. Le petit plus c que ci une instance de ton formulaire n'existe pas, il en construit une dans le my. Je suis pas un grand fan de cette utilisation car ca fait beucoup de memoire qui passe on sait pas ou... car si ton my est vide a la fin du programme ???? dans la msdn de la beta 2 je n ai pas trouve la reponse a cette question. si quelqun a la reponse, merci de le faire savoir.

En fait j'ai bien peur que le my soit mal utilise et devienne un "four tout" boufffffffeur de ressources non declarees. L'idee est sympa, mais vu ce que tout le monde commence a en faire ca devien urgent de savoir ce qui se passe dans notre bonne vielle memoire... enfin si on lui veu du bien ;-)

PS: pour le fron de liberation, comme toujours signez la petition par mail a liberation_de_la_memoire@parcequellelevautbien.com
njck671 Messages postés 31 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 juin 2005
27 juin 2005 à 02:00
euh, en net2, on fait comme ça:
ex:
if my.forms.form2.visible=true then etc....
tout est directement repris par MY....
pas besoin de se curer....
et si c un bouton,
if MY.forms.form2.button1 etc....
en bref, Rien a declarer, msieur?
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
9 déc. 2004 à 00:27
N'ecoutes pas ta colere,

...Elle te pousse vers le cote obscure de la force.
sly535 Messages postés 16 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 8 décembre 2004
8 déc. 2004 à 12:39
En fait maintenant que je commence à maitriser VB.Net je m'apercois que ma source est une grosse anerie :)

En fait cela fonctionne, mais la procedure load ne fonctionnera qu'une seule fois.

En clair c'est de la bidouille, je me suis passé rapidement de cette méthode inadapté, quel honte, mas le passage à .NET et long....
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
3 oct. 2004 à 12:05
Pour les bouclages, j'utilise une collection que je cree avec la form (Mais je ne trouve pas ca tres rapide a realiser).

Alors.... j'ai tendance a utiliser la collection Controls. je creer tt mes boutons dans un panel et j'utilise la collecton controls de ce panel pour retrouver mes boutons. Je te conseil cette methode qui m'a deja fait gagne beaucoup de temps.

Si tu n'as qu'un groupe de boutons ou de controls de meme type, tu peut utiliser la collection controls de ta feuille... ou de tt autre conteneur. Le gros aventage, c'est que c'est declinable a volonte.

PS : Pour le Handles, il ne faut pas se tromper. Ca ne concerne que les evenements. le Handles sert a ce que plusieurs control provoquent l'execution d'une meme methode.

Si tu ne trouves pas ce post trop claire n'esites pas a me faire un mail avec ce qui ne colle pas.

@+
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
2 oct. 2004 à 01:13
salut,

jmenfous, avec tes handles, comment fais tu un bouclage si tu n'as plus d'index, moi aussi je cherche et je commence a regretter le bon "vieux vb".
sly535 Messages postés 16 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 8 décembre 2004
24 sept. 2004 à 11:39
Bref, tout les chemins menent à Romes, -)
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
24 sept. 2004 à 01:50
C trop fort, j'avais fais exactement la meme chose pour les feuilles MDIShilds

Public Sub New(ByVal vFrm As Windows.Forms.Form)
InitializeComponent()
Me.MdiParent = vFrm
End Sub

;-)
cool ta source mai sinon il y a une autre manière de procéder bah tu choisis, koi (je n'ai jamai dis ke c'est mie ke la tienne mai bon ca vau le cou d'essayé), surtout ke ca ne vien pô de moi lolllll!!!!!!!!!

bah en fait ds ta formprincipal

Dim Form2 As New Form2(Me)
Form2.TextBox2.Text = "cool"
Form2.ShowDialog()


et ds ta fenêtre ke tu vien d'appelé:

dans le concepteur de Windows juste après la première procédure :
Public Sub New(ByVal Value As System.Windows.Forms.Form)
MyBase.New()
InitializeComponent()
MyParentForm = Value
end sub

Dans ton code:
Friend MyParentForm As Form1

Dans ton bouton:
myparentform.TextBox1.text = "recool"
Dialogresult = dialogresult.ok
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
24 sept. 2004 à 00:20
OK, alors bonne chance pour la decouverte de DOT NET!

Vu le nombre de personnes qui rament avec Vb NET, je pense que l'on peut former un club d'aviron ;-)

Moi j'ai fais la grosse erreur au debut de cherche en Vb NEt ce que je faisais en Vb6.... Quel gallllllllllere! Pour exemple j'ai cherche partout l'indexations des controls avent de comprendre que cela n'existait plus et que l'on disposait d'un truc genial.... les Handles.

Alors 5 lettres
sly535 Messages postés 16 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 8 décembre 2004
24 sept. 2004 à 00:06
LOL, il n'y à aucun probleme concernant tes remarques.
D'ailleurs ce code , si on peut appeller ca un code, je l'ai classé niveau débutant.

Je sais qu'on peut faire mieux, mais le probleme était le suivant : ca fait 2 semaines que je rame pour arriver à cette méthode depuis mon passage en DOT.NET et à la surprise général, rien à mangé, et pourtant j'en ai fait des sites !!!

Tanpis pour la mémoire, je pense aux personnes qui comme moi font de petites applications.

Mafois un jour si je progresse, sait-on jamais !!!
jmenfous Messages postés 117 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 juillet 2009 1
23 sept. 2004 à 20:51
Ok c'est sympa comme idee, mais il me semble que tu as oublier le GRAND interet de la methode de creation dynamique des form : l'optimisation de la memoire!!!.....

De plus si tu pouvais ajouter une fonction Dispose pour toutes tes Form ce serait bien... Ok le ramasse miette est la mais il faut aussi l'aider.

PS: Perso je prefere largement ->
Application.Run(New presentation)
pour charger ta premiere Form.

Ne prends pas mal ces remarques STP, je pensais juste a cette pauvre petite memoire a la quelle tt le monde veut tellement de mal... ;-)
Rejoignez-nous