Instancier form avec meme variable sans meme valeur [Résolu]

RENEFRANCIS78 4 Messages postés jeudi 24 octobre 2013Date d'inscription 25 octobre 2013 Dernière intervention - 25 oct. 2013 à 00:10 - Dernière réponse : RENEFRANCIS78 4 Messages postés jeudi 24 octobre 2013Date d'inscription 25 octobre 2013 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

lermite222 8728 Messages postés dimanche 8 avril 2007Date d'inscriptionContributeurStatut 27 janvier 2014 Dernière intervention - Modifié par lermite222 le 25/10/2013 à 01:03
0
Merci
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 .
Commenter la réponse de lermite222
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 25 oct. 2013 à 07:42
0
Merci
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.
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 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 .
RENEFRANCIS78 4 Messages postés jeudi 24 octobre 2013Date d'inscription 25 octobre 2013 Dernière intervention - 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 ?
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 25 oct. 2013 à 11:52
toujours pas clair pour moi.
Donne un exemple (avec étape1, étape2;, etc ...)
Commenter la réponse de ucfoutu
RENEFRANCIS78 4 Messages postés jeudi 24 octobre 2013Date d'inscription 25 octobre 2013 Dernière intervention - 25 oct. 2013 à 12:35
0
Merci
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
Commenter la réponse de RENEFRANCIS78
lermite222 8728 Messages postés dimanche 8 avril 2007Date d'inscriptionContributeurStatut 27 janvier 2014 Dernière intervention - 25 oct. 2013 à 12:40
0
Merci
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+
Commenter la réponse de lermite222
RENEFRANCIS78 4 Messages postés jeudi 24 octobre 2013Date d'inscription 25 octobre 2013 Dernière intervention - 25 oct. 2013 à 14:09
0
Merci
C'est parfait !!!
Dire que c'était si simple ...
Merci encore
Commenter la réponse de RENEFRANCIS78

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.