Bonjour,
J'aimerais sauvegarder l'état Checked ou non d'une chekbox, pour que quand l'utilisateur re ouvre le logiciel il a toujours la chekbox checker ou non. J'ai donc essayer avec un parametre de "My.Settings.Checked" mais cela ne marche pas et me met comme erreur ( System.InvalidCastException : 'La conversion de la chaîne "" en type 'Boolean' n'est pas valide.' ) Donc je pense pas que cela dois ce faire ainsi.
Il faut que se soit en Boolean.
Par contre, si tu as déjà lancé ton application, il est possible que le fichier de configuration ait enregistré une chaîne vide d'où l'erreur.
Par contre, on a tous débuté, comme toi je suis autodidacte, et comme toi au début j'ai négligé d'apprendre les bases (ça c'est une base).
Ça ne m'a mené à rien, et quand je me suis résolu à tout reprendre depuis le début, j'ai perdu un temps fou à me défaire de mes mauvaises habitudes.
Il y a un bon cours que tu peux suivre. Ça va te prendre quelques jours si tu es motivé, mais il te donnera le socle nécessaire pour ne plus refaire ce type d'erreur.
Ce qui au d'une part bien plus valorisation et plus rapide que d'attendre une réponse sur un forum.
La seule chose avec laquelle je suis en désaccord avec ce cours est qu'il considère la programmation objet comme un effet de mode, or c'est l'essence des langages .Net.
Merci infiniment pour ton aide, et sache que en effets je ne suis pas passer par les base mais après avoir jeter un coups d'oeil au lien et l'avoir télécharger je confirme je vais m'y mettre mais cette été.
En attendant je veut juste terminer avec cela.
Ducoup mon code ( En simplifier doit resembler à cela )
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If My.Settings.SaveCheckZello = True Then CheckBox1.Checked = True Else CheckBox1.Checked = False End If End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click If CheckBox1.Checked = True Then My.Settings.SaveCheckZello = True Else My.Settings.SaveCheckZello = False End If My.Settings.Save() End Sub
Hum, j'ai crée un petit programme à part et cela à l'air de fonctionné.
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form2.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If My.Settings.SaveApp = "" Then
MsgBox("Vous ne pouvez pas lancer car le chemin d'accès n'est pas indiqué", MsgBoxStyle.Critical, ("Impossible de lancer"))
Else
Dim startInfo As ProcessStartInfo = New ProcessStartInfo(My.Settings.SaveApp)
Process.Start(startInfo)
If My.Settings.SaveCheck = False Then
Else
Dim startInfo1 As ProcessStartInfo = New ProcessStartInfo(My.Settings.SaveApp2)
Process.Start(startInfo1)
End If
End If
End Sub
End Class
Public Class Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If My.Settings.SaveCheck = True Then
CheckBox1.Checked = True
Else
CheckBox1.Checked = False
End If
TextBox1.Text = My.Settings.SaveApp
TextBox2.Text = My.Settings.SaveApp2
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.Title = "Choisissez "
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then TextBox1.Text = a
If a <> "" Then My.Computer.Clipboard.SetText(a)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OpenFileDialog1.Title = "Choisissez "
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then TextBox2.Text = a
If a <> "" Then My.Computer.Clipboard.SetText(a)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If CheckBox1.Checked = True Then
My.Settings.SaveCheck = True
Else
My.Settings.SaveCheck = False
End If
My.Settings.SaveApp = TextBox1.Text
My.Settings.SaveApp2 = TextBox2.Text
My.Settings.Save()
Close()
End Sub
End Class
If My.Settings.SaveCheck = True Then
CheckBox1.Checked = True
Else
CheckBox1.Checked = False
End If
Se résume à
CheckBox1.Checked = My.Settings.SaveCheck
.
Ensuite
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
OpenFileDialog1.Title = "Choisissez "
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then TextBox1.Text = a
If a <> "" Then My.Computer.Clipboard.SetText(a)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OpenFileDialog1.Title = "Choisissez "
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then TextBox2.Text = a
If a <> "" Then My.Computer.Clipboard.SetText(a)
End Sub
C'est 2 fois la même chose, donc c'est 2 fois à corriger en cas d'erreur ou de changement. Donc c'est pas bien.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
OpenFileDialog1.Title = "Choisissez "
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then
If CType(sender, TextBox).Name = "Button1" Then
TextBox1.Text = a
Else
TextBox1.Text = a
End if
My.Computer.Clipboard.SetText(a)
End if
End Sub
devrait fonctionner, j'ai tapé de tête donc pas sûr qu'il n'y ait pas une boulette
Enfin pour
If CheckBox1.Checked = True Then
My.Settings.SaveCheck = True
Else
My.Settings.SaveCheck = False
End If
En effets, je vous remercie beaucoup, cela étant dis pour les openfiledialog je préfère garder cela comme c'est car j'ai changer la valeur "Title" que j'ai pas montre ici.
Mais je vous remercie beaucoup, je vais commencer le cours que vous m'avez indiquer
Même si tu as changé le titre, il est plus que préférable de n’avoir qu’un code.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
Dim tbx as TextBox = TextBox1
Dim titre as String = "Titre 1 "
If CType(sender, Button).Name = "Button2" Then
tbx = TextBox2
titre = "Titre 2 "
End If
OpenFileDialog1.Title = titre
OpenFileDialog1.Filter = "exe|*.exe"
OpenFileDialog1.FilterIndex = 1
OpenFileDialog1.InitialDirectory = "c:\"
OpenFileDialog1.ShowDialog()
Dim a As String
a = OpenFileDialog1.FileName
If a <> "" Then
Tbx.Text = a
My.Computer.Clipboard.SetText(a)
End if
End Sub
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Je n'ai pas le temps de tester ce matin, est ce que ce code fonctionne?
Si oui, veux tu le simplifier?
Si non, que se passe t il?
Comment ca on peut le simplifier ?
Se résume à .
Ensuite
C'est 2 fois la même chose, donc c'est 2 fois à corriger en cas d'erreur ou de changement. Donc c'est pas bien.
devrait fonctionner, j'ai tapé de tête donc pas sûr qu'il n'y ait pas une boulette
Enfin pour
même principe qu'au début
Mais je vous remercie beaucoup, je vais commencer le cours que vous m'avez indiquer