Deux petites questions...

Messages postés
102
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
22 décembre 2003
- - Dernière réponse : scabo
Messages postés
25
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
5 septembre 2006
- 11 août 2004 à 17:29
Bonjour tout les programmeurs, j'ai deux questions à vous poser.
1) Voila, j'ai un projet avec deux forms : une principale (frmMain) qui réprésente l'application et une secondaire (frmChoix) qui est cachée au démarrage et qui permet de choisir entre trois lettres de l'alphabet (A, B ou C)...
Seulement moi je voudrais que quand on clique sur un bouton de frmMain qui permet de choisir une des trois lettres, et bien que ça lance frmChoix et que frmMain attende que l'utilisateur clique sur un label d'une des trois lettres et ferme frmChoix et continue le programme de frmMain...
Je suis désolé si ce n'est pas trop explicite mais j'ai fait au mieux...
2) Je voudrais savoir comment faire pour créer une Windows Form avec le logiciel gratuit "SharpDevelop" en VB.NET !! Car j'y suis arrivé en C# mais je n'y arrive pas pour le VB.NET .(je n'ai pas envie de me mettre au C# car j'ai envie de "me mettre à jour" en apprenant VB.NET)

Voila c'est tout ...
J'espere que vous aurez réponse à mes questions et je vous remercie d'avance..
@++
Afficher la suite 

12 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
18
0
Merci
Réponse 1
Tu dois afficher FrmChoix en modal : frmChoix.Show vbModal
Réponse 2
Je teste cela ce soir et je te tiens au courant ...
Christophe R.
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
0
Merci
j,ai fait dequoi de semblable

lors de l'ouverture du main, je regarde une variable, si elle est null, j'ouvre la 2e form puis je fait cancel = true. ensuite, je fais mon choix et met la valeur dans la variable de l'autre form. lors du 2e démarrage, puisqu'il y a une valeur, le code passe au else et continue
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
0
Merci
aussi, ça dépend si tu veux recommencer l,ouverture ou non. Moi je voulais recommencer dasn l,application que j'avasi fais
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
18
0
Merci
Je piges rien à ton truc, Dragon !!!!!
Pour ouvrir une form en VB et attendre que celle-ci soit refermé avant de poursuivre le code après le Show, y a une solution et une seule qui soit valable: L'ouvrir en modale ...
Ou alors j'ai rien compris au PB de RaZoR !!!
Christophe R.
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
3
0
Merci
ça dépend ce que tu veux faire

dasn mon cas, si j'était admin, ça devait m,ouvrir une fenêtre spécial lors de l'ouverture

donc le fenêtre principal devait cancellé pour ouvrir ma fenêtre spécial et une fois l'option choisi, je devait ré-ouvrir le première fenêtre du début

ça dépend toujorus c'est quoi que le code dois faire. Soit stopper le code et afficher, soit arre^ter le code pour le recommencer avec les nouvelles valeurs
Messages postés
102
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
22 décembre 2003
0
Merci
Merci aux deux personnes qui m'ont répondues.. Je vais essayer tout ça et je suis impatient d'avoir ta réponse Christophe R. !!
Encore merci
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
18
0
Merci
En fait j'ai pas eu le temps de tester cela hier soir, donc ce sera pour ce week-end (Faut que je réinstalle le FrameWork et #Dev sur ma $?!§??§*% de machine 'at home' !)

Christophe R.
Messages postés
102
Date d'inscription
vendredi 22 février 2002
Statut
Membre
Dernière intervention
22 décembre 2003
0
Merci
D'accord crenaud76 ! (J'attends avec impatiente)
Sinon j'ai encore deux questions :
1) Je voudrais savoir comment je peut faire pour que dans une txtbox multiligne, il n'y ai que 16 caracteres par lignes mais je ne veux pas rajouter des caracteres comment vbCrlf ou vbNewline ou Chr(13) car je dois compter les caracteres de la textbox et il ne faut pas que je rajoute des caracteres, sinon le résultat serait FAUX !

2) Je voudrais savoir comment faire pour que quand je séléctionne dans une textbox multiligne ça sélectionne exactement à la même place dans une autre textbox multiligne....

J'espere que vous me comprenez, et surtout que vous pouvez m'aider !

Merci !
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
18
0
Merci
Pour la selection répercuter dans un eautre tetbox, utilise les propriétés .SelStart et .SelLength
Dans l'évènement Click() de Text1, tu mets :

Text2.SelStart = text1.SelStart
Text2.SelLength = Text2.SelLength

Test deux textbox doivent avoir le même contenu sinon tu rsique un plantage.
Pour les 16 car par ligne :
Les vbcrlf (en fait chr(13) & chr(10) ou l'inverse je sais jamais) sont ajoutés dès que l'utilisateur fait <Return>, ce n'est pas toi qui les ajoute, et tu ne peux pas l'empêcher.
Tu n'as qu'à vérifier qu'entre deux chr(10), tu n'as pas plus de 17 car (un de plus car tu à le chr(13)). Pour cela, tu fait un split avec chr(10) en séparateur et tu mesures tout les items de ton tableau résultat
Christophe R.
Messages postés
4
Date d'inscription
dimanche 6 juillet 2003
Statut
Membre
Dernière intervention
11 janvier 2004
0
Merci
Bonjour,

Si j'ai bien compris, tu veux interrompre ton programme dans frmMain, afficher frmChoix, faire tourner les programmes de cette feuille et revenir ensuite dans frmMain pour exécuter la suite du code.

En fait, c'est très simple. Il faut sectionner le programme dans frmMain et le placer dans un module. Exemple Créer, dans un module, la procédure Sub Main1()
(ATTENTION: Dans un module, il faut préciser le chemin des objets Exemple: FrmMain.text1.text= "essai").
La procédure Main1 contient une partie du code de frmMain, c'est à dire la suite du code à exécuter après la fermeture de frmChoix. Bien sur, ces mêmes lignes de code dans frmMain seront supprimées (elles sont maintenant copiées dans le module).
Dans le programme de fermeture de frmChoix (juste avant End Sub), placer la ligne Call Main1 et le tour est joué.

Cette tehnique permet aussi d'éviter les doublons de code. Tous les programmes communs doivent aussi se trouver dans un module. Le même programme peut alors être appelé par toutes les autres frm du projet avec la procédure Call XXXX

Code dans frmChoix:

Private Sub QuitterChoix_Click()
Unload frmChoix
Set frmChoix = Nothing
Call Main1
End Sub

Code de la procédure Main1 dans le module:

Sub Main1()
frmMain.Label1.Caption = "C'est réussi."
End Sub
Messages postés
25
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
5 septembre 2006
0
Merci
Salut à tous, j'ai un peu le même problème que razor.

Ce que je veux faire => j'ai un et unique formulaire (Form1) et je veux qu'ils soit modal, tout mon programme tourne sur cette unique fenêtre.

Ce que j'ai essayé => Form1.show vbmodal mais ça ne marche pas, vb.net ne connait pas la constante vbmodal dans l'explorateur d'objet, en vb.net l'objet form n'a pas de méthode show, alors comment on fait pour passer d'une fenêtre à une autre ??!!!
Messages postés
25
Date d'inscription
vendredi 27 juin 2003
Statut
Membre
Dernière intervention
5 septembre 2006
0
Merci
ok oublié tout, en fait faut instancier les formulaires !!

Par contre, comment je fais pour que mon formulaire soit modal par rapport à toutes les autres applications qui tournent sur mon poste.

Par exemple je voudrais que ma fenêtre soit toujours visible au dessus d'un document Word !! En fait qu'elle soit modale par rapport à mon document Word que j'ouvre en programmation !!