Bonjour,
Après des heures de recherche sur internet, j'ose demandé votre lumière, car j'arrive pas trouvé une solution.
Description du problème :
Je n'arrive pas crée dynamiquement de variable programme (my.settings)
But:
Crée des variables qui permets de garder des paramètres dans le programme après la fermeture de celui- ci et sans l'utilisation d'un fichier tout bêt (ceci purement pas défit technique et bien sûr plus propre)
Mon environnement : Microsoft Visual basique 2010 - Projet en FrameWork 4 (pas encore compiler de toute façon)
Mon approche :
Effet :
Aucune erreur lors de l’exécution mais ne paraît pas être crée, impossible de faire appel après à cette variable
Finalité :
J'aurai besoin de ceci pour pouvoir dans mon programme de WOL d'ajouter dynamiquement des bouton qui référence une MacAdresse réveiller le post. Oui je pourrai crée manuellement tant de variable my.settings mais cella limiterai le nombre MacAdresse sauvé dans le programme.
[ceci est mon premier post excusez moi d'avance ]
Merci d'avance à l’intérêt que vous apporterez à mon projet et à ma question
Message d'erreur
Titre de la fenêtre d'erreur :
L'exception SettingsPropertyNotFoundException n'a pas été gérée
corps du message
La propriété 'Nom_de_Ma_nouvelle_variable' des paramètres est introuvable
Comme le nom le dit My.Settings sert à conserver des valeurs (dans un fichier XML) mais pas pour enregistrer des noms de variables. Ce que tu veux faire est impossible avec my.settings.
tout d'abord merci de votre réponse cmarcotte, cependant connaissez-vous une autre manière que le tout bête fichier texte que me semble une manière de procéder pas très propre... ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Bonjour,
J'ai essayé, on peut mettre une variable dans MySettings manuellement mais pas de façon dynamique.
Aller dans My Project- Paramètres.
Entrer dans Nom: Mavaleur et dans Type: String
Pour tester 2 TextBox et un bouton
Public Class Form1
Dim Mavaleur As String
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
My.Settings.Mavaleur = Mavaleur
My.Settings.Save()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Mavaleur = My.Settings.Mavaleur
TextBox2.Text = Mavaleur
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Mavaleur = TextBox1.Text
End Sub
End Class
Bonjour,
Oui j'avais d'ores et déjà procédé de cette manière, je cherchais juste la possibilité de faire du dynamique avec ce serai super pratique vu que je crée de champs dynamiquement et plein d'autre contrôles.
Merci quand même Le Pivert
Public Class Form1
' chemin registre: HKEY_CURRENT_USER\Software\VB And VBA Program Settings\Mesvaleurs\Mavariable
Private Const APP_Text As String = "Mesvaleurs"
Private Const SECTION_Text As String = "Mavariable"
Dim Mavaleur As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Mavaleur = TextBox1.Text
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
SaveSetting(APP_Text, SECTION_Text, "Mavariable" & ToString(), Mavaleur.ToString())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Mavaleur = GetSetting(APP_Text, SECTION_Text, "Mavariable" & ToString())
TextBox2.Text = Mavaleur
End Sub
End Class
Encore merci à Le Pivert, j'avais pensé à ça mais vu que j'avais dans l'optique de faire un programme "portable", je vais sans doute voir les critères à la baisse, dans l'attende de trouver une solution je vais faire ainsi