[VB.NET] d'une chaine vers une instruction [Résolu/Fermé]

Signaler
Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
-
Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
-
Bonjour,

mon problème est en soit relativement simple, j'ai bien peur pourtant qu'il soit insoluble. En effet je veut récupérer la valeur d'une chaine de caractère et m'en servir pour exécuter une ligne de code. Voila le code idéal (qui ne fonctionne absolument pas mais clarifie sans nuls doutes ma pensée.

Public Sub setLabel(ByVal name As String, ByVal value As String)
        Me."" & name & "".text = value
    End Sub

dans ce code, name serait remplacer par "LB_GPD" et la ligne exécuter serait donc :

Me.LB_gpd.text = value

ma question est donc simple, existe il un quelconque moyen de faire cela ?

Merci d'avance de vos réponses;

5 réponses


Bonjour,

Procéder en deux étapes :

Étape 1 :
Dim Boucle As Int32 = 0
Dim NomCtrl As String = String.Empty

For Boucle = 1 To 3
	NomCtrl = String.Format("{0}{1}", "tbx_Item", Boucle)
	ChangeValeurTextBox(NomCtrl, (Boucle * 10).ToString)
Next


Étape 2 :
Private Sub ChangeValeurTextBox(ByVal pNom As String, ByVal pValeur As String)

	Dim Ctrl As System.Windows.Forms.Control

	For Each Ctrl In Me.Controls
		If Ctrl.GetType Is GetType(TextBox) Then
			If (Ctrl.Name = pNom) Then
				Ctrl.Text = pValeur
			End If
		End If
	Next

End Sub


Cdt

Lupin
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 128
Bonjour,
Une autre approche ?
    Public Sub setLabel(ByVal name As String, ByVal value As String)  
        Dim Lb As Control  
        For Each Lb In Me.Controls  
            If Lb.Name = name Then Lb.Text = value : Exit Sub  
        Next  
    End Sub

Il y a une solution encore plus facile mais qui nécessite quelque lignes de code au load de la form. (voir Collection)
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.
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
4
J'ai quasiment le même soucis, j'ai posté ce matin, toujours pas de réponse :/

https://forums.commentcamarche.net/forum/affich-24208824-nom-de-textbox-dynamique-vb-net

En fait tu es comme moi, tu cherches à utiliser une variable comme propriété "name"
Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
7
l'idée ce serait de la même manière que l'ont fait une requète préparer pour du SQL (en VB je sait pas mais dans les autres languages ça ce fait) il faudrait faire une "instruction préparer" puis l'exécuter, je ne pensse pas que cela soit faisable.
Messages postés
54
Date d'inscription
dimanche 13 mars 2011
Statut
Membre
Dernière intervention
18 avril 2012
7
Merci beaucoup de vos réponse, j'ai put faire ce que je cherchait a faire. Bonne journée a vous (ou soirée).