Enregistrer les paramètres... [Résolu]

nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 31 août 2007 à 16:41 - Dernière réponse : nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention
- 1 sept. 2007 à 16:00
Boujour tout le monde
Voila mon problème est que je voudrai enregistrer les paramètres avant de sortir de mon programme mais je ne sais pas comment faire.

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Afficher la suite 

Votre réponse

11 réponses

cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 1 sept. 2007 à 15:23
+3
Utile
Ok, ton problème est effectivement bien plus complexe que ne laissait paraitre tes réponses précédentes.

Ici, vu que ton fond d'écran est en fait un "objet" complexe, un dégradé, plutot que de sauvegarder la couleur du fond d'écran (qui ici ne veut pas dire grand chose vu qu'il y a plusieurs couleurs), il vaut mieux sauvegarder la configuration qui t'a permis d'arriver à cette couleur. C'est à dire ici, sauvegarder l'état des radioboutons.

Pour arranger les choses, ,un ensembles de RadioButton étant un groupe de controle particulier, tu ne vas pas pouvoir gerer de manière automatique la configuration des ces RB. Il va falloir le faire à la main.
Tu vas commencer par aller dans les propriétés de ton projet, onglet paramètres pour créer un setting.
Tu crée un setting nommé ChoixPaint (par exemple), de type Integer, de portée User et de valeur par défaut 0

Ensuite pour chacun de tes radiobutton, tu vas aller dans son évènement CheckedChanged  pour enregistrer le nouveau paramètre dans le setting. Pour cela tu vas rajouter la ligne suivante dans la routine CheckedChanged de chacun des RB (ex donné pour le RB1, à adapter pour les autres):
        If RadioButton1.Checked Then My.Settings.ChoixPaint = 1

Ensuite, il faut gérer l'initialisation des radiobuttons. Pour cela dans le Form_Load de la feuille les contenant, il te faut mettre la ligne de code suivante :
        CType(Me.Controls("RadioButton" & My.Settings.ChoixPaint), RadioButton).Checked = True
Sans cela, à l'affichage de l'écran, c'est toujours le même RadioButton qui sera coché sans tenir compte des paramètres enregistés.

Ensuite il faut s'attaquer à la couleur de l'écran. Et on va en profiter pour en amélioré le code :

    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As
System.Windows.Forms.PaintEventArgs) Handles
Me.Paint

        Dim myBrush As Drawing2D.LinearGradientBrush
        Dim Graph As Graphics = Me.CreateGraphics
        Dim point1 As New Point(-14, -33)
        Dim point2 As New Point(800, 800)

        Select Case My.Settings.ChoixPaint
            Case 1
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Cyan, Color.Green)
            Case 2
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Red, Color.Yellow)
            Case 3
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Violet, Color.Blue)
            Case 4
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Blue, Color.Cyan)
            Case 5
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Green, Color.Yellow)
            Case 6
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Red, Color.Blue)
            Case 7
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Violet, Color.Red)
            Case Else
                myBrush = New Drawing2D.LinearGradientBrush(point1, point2,
Color.Cyan, Color.Green)
        End Select

        Graph.FillRectangle(myBrush, -14, -33, 800, 800)
    End Sub

L'enregistrement des paramètres est normalement automatique lors de la fermeture de l'application ainsi que leur chargement à l'ouverture. Donc normalement à chaque ouverture de ton appli, ton écran devrait automatiquement retrouver la couleur qu'il avait à la fermeture précédente.

J'espere que ça marche, car je ne peux pas tester. Suite à une mauvaise installation, j'ai VB qui merde tant qu'il peut et il me donne des résultats incohérents.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_casy
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 31 août 2007 à 16:46
0
Utile
Salut,

Fais une petite recherche dans les sources dispo sur le site, il y en a quelques une....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
lolokun 1241 Messages postés mardi 10 octobre 2006Date d'inscription 27 août 2013 Dernière intervention - 31 août 2007 à 16:48
0
Utile
Salut,

Les paramètres de ton programme? Cette question revient souvent, fais une petite recherche sur le site, tu enregistres tes paramètres dans un fichier text ou ini que tu charges à l'ouverture de ton programme.

a ++
Commenter la réponse de lolokun
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 31 août 2007 à 17:56
0
Utile
Dans mon programme j'ai une boite de dialogue qui sert à changer le font d'écran de ma form et je veut que quand je clique sur OK le programme enregistre le font d'écran qu'a choisis l'utilisateur et que quand je réouvre le programme ça soit le font d'écran qu'a choisis l'utilisateur.

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 31 août 2007 à 19:32
0
Utile
Sujet plusieurs fois abordé sur le forum. Alors pour résumé :

Avec .Net, dans les propriétés de ta form regarde la rubrique intitulé (ApplicationsSettings) et renseigne-toi (dans l'aide msdn par exemple) sur les possibilité des Settings dans un projet.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 31 août 2007 à 19:50
0
Utile
Désolé j'ai pas trouvé

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 31 août 2007 à 20:53
0
Utile
ALors j'avoue que j'ai fais l'effort de faire une recherche dans le forum avec le moteur de recherche. Il m'as sorti tout et n'importe quoi sauf ce que je recherchais justement.

Messieux les Admins, si vous passez par là, il sera peut-etre bon de revoir les algorithmes du moteur de recherche d'autant plus que plusieurs personnes me font des remarques de puis quelques temps, allant aussi dans ce sens (je fais régulièrement de la pub pour la communauté lorsque quelqu'un butte sur un problème de prog).

Donc nicomilville, j'ai regardé plutot dans la liste des mes alertes mails pour récupérer des posts ou j'étais intervenus à ce sujet. En voici quelqu'uns :

http://www.vbfrance.com/infomsg_Pr%E9f%E9rences_989182.aspx

http://www.vbfrance.com/infomsg_Gerer%20les%20pr%E9f%E9rences%20utilisateurs%20de%20son%20application_983503.aspx

http://www.vbfrance.com/infomsg_%5BVS%202005%20.NET%5Dparam%E8tres%20de%20l'application%20et%20namespace%20My_954825.aspx

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Commenter la réponse de cs_casy
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 31 août 2007 à 21:09
0
Utile
merci

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 sept. 2007 à 13:06
0
Utile
Voici mon code :

Private
Sub Form1_Paint(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.PaintEventArgs)
Handles
Me.Paint

If
My.Forms.Dialog1.RadioButton1.Checked =
True
Then

Dim Graph
As Graphics =
Me.CreateGraphics

Dim point1
As
New Point(-14, -33)

Dim point2
As
New Point(800, 800)

Dim myBrush
As
New Drawing2D.LinearGradientBrush(point1, point2, Color.Cyan, Color.Green)Graph.FillRectangle(myBrush, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton2.Checked =
True
Then

Dim Graph2
As Graphics =
Me.CreateGraphics

Dim point5
As
New Point(-14, -33)

Dim point6
As
New Point(800, 800)

Dim myBrush2
As
New Drawing2D.LinearGradientBrush(point5, point6, Color.Red, Color.Yellow)Graph2.FillRectangle(myBrush2, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton3.Checked =
True
Then

Dim Graph3
As Graphics =
Me.CreateGraphics

Dim point7
As
New Point(-14, -33)

Dim point8
As
New Point(800, 800)

Dim myBrush3
As
New Drawing2D.LinearGradientBrush(point7, point8, Color.Violet, Color.Blue)Graph3.FillRectangle(myBrush3, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton4.Checked =
True
Then

Dim Graph4
As Graphics =
Me.CreateGraphics

Dim point9
As
New Point(-14, -33)

Dim point10
As
New Point(800, 800)

Dim myBrush4
As
New Drawing2D.LinearGradientBrush(point9, point10, Color.Blue, Color.Cyan)Graph4.FillRectangle(myBrush4, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton5.Checked =
True
Then

Dim Graph5
As Graphics =
Me.CreateGraphics

Dim point11
As
New Point(-14, -33)

Dim point12
As
New Point(800, 800)

Dim myBrush5
As
New Drawing2D.LinearGradientBrush(point11, point12, Color.Green, Color.Yellow)Graph5.FillRectangle(myBrush5, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton6.Checked =
True
Then

Dim Graph6
As Graphics =
Me.CreateGraphics

Dim point13
As
New Point(-14, -33)

Dim point14
As
New Point(800, 800)

Dim myBrush6
As
New Drawing2D.LinearGradientBrush(point13, point14, Color.Red, Color.Blue)Graph6.FillRectangle(myBrush6, -14, -33, 800, 800)

ElseIf
My.Forms.Dialog1.RadioButton7.Checked =
True
Then

Dim Graph7
As Graphics =
Me.CreateGraphics

Dim point15
As
New Point(-14, -33)

Dim point16
As
New Point(800, 800)

Dim myBrush7
As
New Drawing2D.LinearGradientBrush(point15, point16, Color.Violet, Color.Red)Graph7.FillRectangle(myBrush7, -14, -33, 800, 800)

Else

Dim Graph1
As Graphics =
Me.CreateGraphics

Dim point3
As
New Point(-14, -33)

Dim point4
As
New Point(800, 800)

Dim myBrush1
As
New Drawing2D.LinearGradientBrush(point3, point4, Color.Cyan, Color.Green)Graph1.FillRectangle(myBrush1, -14, -33, 800, 800)

End
If

End
SubJe suis débutant et je ne sais pas du tout comment m'y prendre pour qu'en quittant ma forme ça enregistre la couleur de font d'écran qu'a choisie l'utilisateur.

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 sept. 2007 à 16:00
0
Utile
attend j'ai changé le code

Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 1 sept. 2007 à 16:00
0
Utile
Private



Sub
Form1_Paint(

ByVal
sender

As



Object
,

ByVal
e

As
System.Windows.Forms.PaintEventArgs)

Handles



Me
.Paint


If



My
.Forms.Dialog1.DialogResult = Windows.Forms.DialogResult.OK

Then






If



My
.Forms.Dialog1.RadioButton1.Checked =

True



Then






Dim
Graph

As
Graphics =

Me
.CreateGraphics


Dim
point1

As



New
Point(-14, -33)


Dim
point2

As



New
Point(800, 800)


Dim
myBrush

As



New
Drawing2D.LinearGradientBrush(point1, point2, Color.Cyan, Color.Green)Graph.FillRectangle(myBrush, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton2.Checked =

True



Then






Dim
Graph2

As
Graphics =

Me
.CreateGraphics


Dim
point5

As



New
Point(-14, -33)


Dim
point6

As



New
Point(800, 800)


Dim
myBrush2

As



New
Drawing2D.LinearGradientBrush(point5, point6, Color.Red, Color.Yellow)Graph2.FillRectangle(myBrush2, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton3.Checked =

True



Then






Dim
Graph3

As
Graphics =

Me
.CreateGraphics


Dim
point7

As



New
Point(-14, -33)


Dim
point8

As



New
Point(800, 800)


Dim
myBrush3

As



New
Drawing2D.LinearGradientBrush(point7, point8, Color.Violet, Color.Blue)Graph3.FillRectangle(myBrush3, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton4.Checked =

True



Then






Dim
Graph4

As
Graphics =

Me
.CreateGraphics


Dim
point9

As



New
Point(-14, -33)


Dim
point10

As



New
Point(800, 800)


Dim
myBrush4

As



New
Drawing2D.LinearGradientBrush(point9, point10, Color.Blue, Color.Cyan)Graph4.FillRectangle(myBrush4, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton5.Checked =

True



Then






Dim
Graph5

As
Graphics =

Me
.CreateGraphics


Dim
point11

As



New
Point(-14, -33)


Dim
point12

As



New
Point(800, 800)


Dim
myBrush5

As



New
Drawing2D.LinearGradientBrush(point11, point12, Color.Green, Color.Yellow)Graph5.FillRectangle(myBrush5, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton6.Checked =

True



Then






Dim
Graph6

As
Graphics =

Me
.CreateGraphics


Dim
point13

As



New
Point(-14, -33)


Dim
point14

As



New
Point(800, 800)


Dim
myBrush6

As



New
Drawing2D.LinearGradientBrush(point13, point14, Color.Red, Color.Blue)Graph6.FillRectangle(myBrush6, -14, -33, 800, 800)


ElseIf



My
.Forms.Dialog1.RadioButton7.Checked =

True



Then






Dim
Graph7

As
Graphics =

Me
.CreateGraphics


Dim
point15

As



New
Point(-14, -33)


Dim
point16

As



New
Point(800, 800)


Dim
myBrush7

As



New
Drawing2D.LinearGradientBrush(point15, point16, Color.Violet, Color.Red)Graph7.FillRectangle(myBrush7, -14, -33, 800, 800)


End



If






Else






Dim
Graph1

As
Graphics =

Me
.CreateGraphics


Dim
point3

As



New
Point(-14, -33)


Dim
point4

As



New
Point(800, 800)


Dim
myBrush1

As



New
Drawing2D.LinearGradientBrush(point3, point4, Color.Cyan, Color.Green)Graph1.FillRectangle(myBrush1, -14, -33, 800, 800)


End



If






End



Sub




Si vous voulez un coup de main demandez moi en pv je verrai ce que je peut faire.
Commenter la réponse de nicomilville

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.