Optimisation d'un code de sauvegarde paramètres checkbox
Bonjour,
je voudrais optimiser un code très lourd que j'ai écris il y a quelques temps, ce code sert à charger et sauvegarder des paramètres booléens My.Settings qui déterminent si une textebox est coché ou non dans mon tableau de checkbox qui représente un calendrier de la semaine.
J'utilise donc actuellement le code suivant pour sauvegarder les paramètres de mon tableau de checkbox qui correspond aux jours et heures de la semaine :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| If tab(0, 0).Checked Then
My.Settings.LU0 = True
Else
My.Settings.LU0 = False
End If
If tab(0, 1).Checked Then
My.Settings.LU1 = True
Else
My.Settings.LU1 = False
End If
If tab(0, 23).Checked Then
My.Settings.LU23 = True
Else
My.Settings.LU23 = False
End If
'...
If tab(1, 0).Checked Then
My.Settings.MA0 = True
Else
My.Settings.MA0 = False
End If
If tab(1, 1).Checked Then
My.Settings.MA1 = True
Else
My.Settings.MA1 = False
End If |
Voilà donc pour la sauvegarde des cases cochées sachant que les 24 tests qui correspondent à chaque heure sont effectués pour les 7 jours...
Je voudrais donc l'optimiser ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Dim Jour As Byte = 0
For Heure As Byte = 0 To 23
If tab(Jour, Heure).Checked Then
My.Settings.LU + Heure
End If
Next
Jour = 1
For Heure As Byte = 0 To 23
If tab(Jour, Heure).Checked Then
My.Settings.MA + Heure
End If
Next |
Ma question est : comment puis-je utiliser une variable pour le My.Settings ?
J'ai le même problème pour la lecture des paramètres, j'utilise actuellement le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| If My.Settings.LU0 = True Then
tab(0, 0).Checked = True
End If
If My.Settings.LU1 = True Then
tab(0, 1).Checked = True
End If
'...
If My.Settings.MA0 = True Then
tab(1, 0).Checked = True
End If
If My.Settings.MA1 = True Then
tab(1, 1).Checked = True
End If
'... |
Je voudrais l'optimiser ainsi mais même problème... :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Dim Jour As Byte = 0
For Heure As Byte = 0 To 23
If My.Settings.LU + Heure Then
tab(Jour, Heure).Checked = True
End If
Next
Jour = 1
For Heure As Byte = 0 To 23
If My.Settings.MA + Heure Then
tab(Jour, Heure).Checked = True
End If
Next |
En espérant que quelqu'un pourra m'aider !
Merci.