IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

C# conserver l'etat d'un checkbox une fois le form fermer


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut C# conserver l'etat d'un checkbox une fois le form fermer
    Bonjour,
    je me pose la question et j'aimerai savoir comment faire pour conserver l’état d'un checkbox qui à la base est checked j'aimeraisois le laisser check ou bien l'uncheck pour faire mes traitements adapté derrière. Merci d'avance

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Dragz_ Voir le message
    Bonjour,
    je me pose la question et j'aimerai savoir comment faire pour conserver l’état d'un checkbox qui à la base est checked j'aimeraisois le laisser check ou bien l'uncheck pour faire mes traitements adapté derrière. Merci d'avance
    Pour conserver l'état de ta variable une fois ton appli fermée, tu dois la sauvegarder dans un fichier que tu viendras lire à chaque lancement de ton application (une sorte de fichier de config). Tu récupères la variable qui t'intéresse puis tu lances ton process de traitement

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par zeratec Voir le message
    Pour conserver l'état de ta variable une fois ton appli fermée, tu dois la sauvegarder dans un fichier que tu viendras lire à chaque lancement de ton application (une sorte de fichier de config). Tu récupères la variable qui t'intéresse puis tu lances ton process de traitement
    Merci de ta réponse, ce n'est pas ce que je souhaite si tu veux mon appli ne ce ferme pas c'est juste un formulaire (je suis en windows form) qui conserverai l'etat de mes checkbox même si je ferme ce formulaire et non l'appli en elle même

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    dans ce cas soit tu sauvegardes l'information dans un pas fichier (une variable) et quand le form se rouvre tu lui donnes l'info
    soit tu ne fermes pas le form, unform.hide le masque et tu peux refaire .show après, il réapparait comme il était

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    dans ce cas soit tu sauvegardes l'information dans un pas fichier (une variable) et quand le form se rouvre tu lui donnes l'info
    soit tu ne fermes pas le form, unform.hide le masque et tu peux refaire .show après, il réapparait comme il était
    Quand je fais ça mon form une fois reouvert il me les mes checkbox reste à l'etat que je leur ai donnés à l'initialisation sois "true"

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    c'est que tu n'as pas gardé de référence vers le form surement

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    c'est que tu n'as pas gardé de référence vers le form surement
    Qu'est ce que tu appelle référence je n'ai pas mis le ta en postant ma question mais je suis toujours au stade débutant je ne situe pas vraiment ce qu'est la référence vers le form ?

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    Hello,
    quand tu veux dire ta form fermé, tu veux dire t'as fermé une de tes fenetres de ton application ou que tu as carrément fermé ton application.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    Hello,
    quand tu veux dire ta form fermé, tu veux dire t'as fermé une de tes fenetres de ton application ou que tu as carrément fermé ton application.
    Salut c'est exactement ça j'ai du mal m'exprimier une de mes fenetres fermer et non l'application en elle même

  10. #10
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    Citation Envoyé par Dragz_ Voir le message
    Salut c'est exactement ça j'ai du mal m'exprimier une de mes fenetres fermer et non l'application en elle même
    En faite tu veux récupérer le statut de ta checkbox sur la forme appelante pour faire tes traitements:
    tu peux sois faire un singleton ou tu défini une propriété boolean qui sera mise à jour par cette form
    communiqué entre la forme appelante et la form ou tu as t'as checkbox
    une propriété statique au niveau de ton appli (je dirais le moins propre)

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par youtpout978 Voir le message
    En faite tu veux récupérer le statut de ta checkbox sur la forme appelante pour faire tes traitements:
    tu peux sois faire un singleton ou tu défini une propriété boolean qui sera mise à jour par cette form
    communiqué entre la forme appelante et la form ou tu as t'as checkbox
    une propriété statique au niveau de ton appli (je dirais le moins propre)
    Singleton est une fonction ? je suis encore perdu avec la communication entre deux form ^^'

  12. #12
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    Le singleton https://jlambert.developpez.com/tuto...gleton-csharp/

    Pour la communication entre form tu peux passer le parametre dans le constructeur de ta form ou créer une méthode/propriété publique comme ca tu peux y accéder depuis la form parente, et pour récupérer la valeur, tu créer ton propre event sur la form enfant que tu levera à la fermeture du form un peu comme cette exemple pour asp, tu pourra y passer la valeur de ta checkbox
    https://lutecefalco.developpez.com/t...-page-asp-net/

    Pour les events
    https://freddyboy.developpez.com/dot...ticles/events/
    https://tlevesque.developpez.com/tut...et-evenements/

  13. #13
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut
    bonjour

    Code exemple avec une variable static dan le mainform:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    namespace WindowsFormsApplication1
    {
        public partial class MainForm : Form
        {
            public static bool state { get; set; }
            private Form3 frm=null;
            public MainForm()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                frm = new Form3();
     
                frm.Show();
            }
        }
    }
     
    namespace WindowsFormsApplication1
    {
        public partial class Form3 : Form
        {
            public Form3()
            {
                InitializeComponent();
                checkBox1.Checked = MainForm.state;
            }
     
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                MainForm.state = checkBox1.Checked;
            }
        }
    }
    bon code...

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Merci beaucoup pour ton code ça marche parfaitement

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Je me retrouve confronté à un problème, cela fonctionne uniquement pour une checkbox sur le form mais si je souhaite avoir plusieurs checkbox qui remplissent une fonction différente chacun comment je peux m'y prendre merci d'avance !

  16. #16
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Février 2015
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Février 2015
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Dragz_ Voir le message
    Je me retrouve confronté à un problème, cela fonctionne uniquement pour une checkbox sur le form mais si je souhaite avoir plusieurs checkbox qui remplissent une fonction différente chacun comment je peux m'y prendre merci d'avance !
    Sans m'y être penché plus que ça, tu peux peut-être récupérer les états de tes checkBox dans un tableau, dans lequel chaque case correspondrait à un checkBox et t'en sortir de cette manière.

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    J'ai régler mon soucis, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     public static bool state"nomChoisi" { get; set; }
    pour en avoir autant que souhaiter en fonction du checkbox

  18. #18
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 905
    Points : 1 923
    Points
    1 923
    Par défaut
    À ce stade tu ferais aussi bien de te créer un objet qui représente les informations que tu souhaites conserver. Tu pourras le passer dans le constructeur de ta Form pour initialiser son état.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2016] Etat forcer impression RECTO une fois
    Par lbar012001 dans le forum IHM
    Réponses: 1
    Dernier message: 20/06/2019, 15h20
  2. Creation etat en fonction d'une recherche
    Par Raphael39 dans le forum Access
    Réponses: 6
    Dernier message: 08/01/2006, 09h08
  3. Réponses: 2
    Dernier message: 06/12/2005, 15h26
  4. Etat en fonction d'une requete dans un formulaire
    Par Cablan dans le forum Access
    Réponses: 5
    Dernier message: 16/11/2005, 15h25
  5. [C#] Conserver des valeurs de propriétés d'une page
    Par elod38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo