Instancier form avec meme variable sans meme valeur

Résolu
RENEFRANCIS78 Messages postés 4 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 25 octobre 2013 - 25 oct. 2013 à 00:10
RENEFRANCIS78 Messages postés 4 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 25 octobre 2013 - 25 oct. 2013 à 14:09
bonjour,

Mon formulaire form1 s'ouvre et grâce à un bouton de commande j'enregistre la valeur d'une variable V1 qui apparait dans form1.text

Si j'instancie une nouvelle form1 et que je rentre la nouvelle valeur dans V1, je perd la premier valeur au profit de la seconde. A chaque fois, chaque form a la dernière valeur rentrée dans V1 dans form.text

Comment faire pour que chaque form ait chacune les valeurs que je rentre ?

merci de vos réponse

5 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 2
Modifié par lermite222 le 25/10/2013 à 01:03
Bonjour,
j'enregistre la valeur d'une variable V1
Où tu l'enregistre ?
Et ensuite, si c'est toujours la même forme, quelle valeur de V1 tu voudras avoir .
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 oct. 2013 à 07:42
Bonjour,
Cette phrase :
Comment faire pour que chaque form ait chacune les valeurs que je rentre
n'a aucun sens technique.
- un form n'a pas de valeur
- s'il s'agit de valeurs successives attribuées à une variable (et non à un form), cette variable doit alors être publique et revêtir l'aspect d'un tableau.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 oct. 2013 à 08:02
Et s'il s'agit en plus (bien que non précisé dans l'exposé) de conserver ces valeurs entre deux sessions de l'application, c'est encore autre chose...
Attendons donc les précisions du demandeur .
0
RENEFRANCIS78 Messages postés 4 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 25 octobre 2013
25 oct. 2013 à 09:51
bonjour,
je vais tenté d'etre plus clair
j'ai unr form1 (la première qui apparait au lancement de l'exe) avec un bouton de commande. En cliquant sur ce bouton, je rentre une valeur string à une variable V1 (qui est public et déclarée dans un module) et j'instancie une nouvelle form2 dans la quelle je vais utiliser cette variable.
Si je clique de nouveau sur le bouton de commande de la form1, j'entre une nouvelle valeur à V1 et j'instancie une nouvelle form3.
Mon problème est le suivant : V1 a la même valeur pour toutes les forms (2 + 3). Or je souhaite que V1 conserve sa valeur pour chaque form.
Comment faire ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 oct. 2013 à 11:52
toujours pas clair pour moi.
Donne un exemple (avec étape1, étape2;, etc ...)
0
RENEFRANCIS78 Messages postés 4 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 25 octobre 2013
25 oct. 2013 à 12:35
Dans un module
Public facceuil As New frmAccueil
Public f As New Form1
Public V1 As String

Dans la form1

#Region "ouvrir dossier par double cick ou par F9"
'double click sur un dossier choisi dans la listbox

Public Sub lstDossier_doubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstDossier.DoubleClick

Dim s As String


s = L1.SelectedItem.ToString

'On affiche la boite de dialogue pour savoir si on accepte le dossier choisi
Dim reponse As Int16
reponse = MessageBox.Show(s, "Ouvrir le dossier suivant ?", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
Select Case reponse
Case 6 'oui, bon dossier
V1 = s
Dim fAccueil2 As New frmAccueil 'pour creer un nouveau formulaire
fAccueil2.Show() 'on ouvre frmAccueil
fAccueil2.text= V1

Case 7 'non pas bon dossier
Exit Sub
End Select

End Sub

Donc le probleme est le suivant :
A chaque fois que j'instancie une nouvelle form (Dim fAccueil2 As New frmAccueil 'pour creer un nouveau formulaire) , V1 s'affiche dans chaque fAccueil2.text des forms instanciées. Or je souhaite que chaque form.text garde la V1 rentrée précédemment lorsque l'on clique sur la listbox
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 2
25 oct. 2013 à 12:40
Bonjour Ucfoutu,
@RENEFRANCIS78
Mettre une variable locale dans chaque forme que tu ouvre et te servir de celle là.
Exemple:
Public Class Form2

Dim CopieV1 As String

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CopieV1 = v1
Textbox1.text = CopieV1
End Sub
End Class

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RENEFRANCIS78 Messages postés 4 Date d'inscription jeudi 24 octobre 2013 Statut Membre Dernière intervention 25 octobre 2013
25 oct. 2013 à 14:09
C'est parfait !!!
Dire que c'était si simple ...
Merci encore
0
Rejoignez-nous