Fonctionnalité retrouvé des form vb6 sans bricolage en .net

Soyez le premier à donner votre avis sur cette source.

Vue 7 800 fois - Téléchargée 404 fois

Description

Enfin ! pour tout ceux qui souffre du passage de VB6 à . net concerant la manipulation des forms, j'ai trouvé comment résoudre le soucis de déclarations.
je sais qu'il ne s'agit pas vraiment d'un grand programme, mais je croit qu'il aidera pas mal de monde qui étaient dans la meme situation que moi !

on connait l'inconveniant de déclarer dans chaque form les autres form, du genre :

dim frm1 as new form1
frm1.show
....

c'est bien , mais si la fenetre existe, cela en supperpose une autre puisque on execute la methode "new".

le tout est de déclaré une seule fois dans un module toutes les form du programme, et d'y creer aussi une procedure main sur laquelle on démarrera le projet.

une fois les déclarations faite, et bien on manipule les form comme VB6 ! cool

Source / Exemple :


Module Module1

    Public frmpresentation As New presentation()
    Public frmprincipale As New principale()
    Public frmquestion As New question()

    Sub main()
        ' ouverture de la premiere forme
        frmpresentation.ShowDialog()
    End Sub

End Module

' n'oublier de définir que le projet démmarre bien sur la procedure sub main

' exemple du contenu d'une forme :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' ouvre la feuille question en modale
        frmquestion.ShowDialog()
    End Sub

Conclusion :


Tout le reste et dans le zip

Vous verrez c'est d'une simplicité surprenante

Merci d'etre indulgent, c'est un prog de débutant , mais je croit qu'il en sauvera plus d'un

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
117
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
2 juillet 2009
1
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
Messages postés
380
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
13 août 2011
7
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
Messages postés
117
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
2 juillet 2009
1
??? 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
Messages postés
380
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
13 août 2011
7
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
Messages postés
117
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
2 juillet 2009
1
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
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.