Changer une propriete de controle dans form1_load

Résolu
mb95 Messages postés 20 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 30 décembre 2013 - 28 déc. 2013 à 11:05
mb95 Messages postés 20 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 30 décembre 2013 - 30 déc. 2013 à 12:27
Bonjour,

Visual Basic express2012 Windows7

Je sauvegarde (Format string) le nom d'un radiobutton dans my.systeme.setting.StrSon et je voudrais
que ce radiobutton( parmi plusieurs au sein d'un groupbox)
soit checked a l'ouverture du programme.
Si je place dans Fom1_load
Dim rdb As New RadioButton
rdb.Name = My.Settings.StrSon
rdb.Checked = True
Pas d'erreur mais pas le resultat desiré, puique c'est c'est le premier radiobutton
qui est checked

Je peux toujours faire un Select case et gérer les boutons a la suite les uns des autres mais c'est lourd, le bug pourrait être un problème de déclaration et d'instanciation mais j'ai rien trouvé d'utilisable (ou j'ai pas compris!!)

merci de votre aide

mb95

2 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
28 déc. 2013 à 11:32
Bonjour

Cela ne fonctionne pas car tu crée un nouveau contrôle "RadioButton" alors qu'il te faut retrouver le contrôle existant puis changer sa propriété

quelque chose comme ça:

Try
CType(Controls(My.Settings.StrSon), RadioButton).Checked = True
Catch ex As Exception
'le control n'existe pas ou n'est pas de type RadioButton
End Try

mb95 Messages postés 20 Date d'inscription jeudi 1 janvier 2004 Statut Membre Dernière intervention 30 décembre 2013
30 déc. 2013 à 12:27
bonjour,

merci cs_Robrt33 pour l'idée et la syntaxe de CType qui me permet de faire la conversion.
J'avais trouvé une solution détournée
Dim TableauRdb = Me.GroupBox1.Controls.Find(My.Settings.StrSon, True)
Dim Rdbs As RadioButton = TableauRdb.First()
Rdbs.Checked = True

merci de votre aide

mb95
Rejoignez-nous