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

Windows Forms Discussion :

Supprimer chart.serie courant


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut Supprimer chart.serie courant
    Bonjour,

    Je souhaite supprimer l'objet chart.series sélectionné.

    Pour supprimer un objet, j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.chart1.Series.RemoveAt(0);
    Pourriez-vous m'aider s'il vous plaît?

    Merci!

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    tu veux faire quoi exactement ? Supprimer un graphique de ton Form ? chart1 est de quel type ?
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut réponse
    Salut,

    Oui, je veux supprimer un graphe sélectionné par la souris.

    chart1 est de type Chart (System.Windows.Forms.DataVisualization.Charting).

    Merci!

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Alors pour supprimer un contrôle il faut demander au contrôle parent (celui qui le contient) de le supprimer.
    Tu peux le faire avec un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Control parent = chart1.Parent;
    parent.Controls.Remove(chart1);
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Merci!

    Je pense que ça supprime tout le chart mais moi je veux supprimer uniquement la série cliqué (un graphe parmi d'autres).


  6. #6
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Arf, je connais pas ce Control. Si j'ai 5 minutes je regarde.
    Plus je connais de langages, plus j'aime le C.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Ok , Merci!

  8. #8
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Re,

    j'ai un peu regardé le contrôle Chart : j'ai inséré deux series dans le load de ma form et avec un bouton j'ai mis la suppression de la première. Maintenant je me demande comment l'utilisateur peut-il sélectionner une série directement sur un Chart ? J'ai pas trouvé. Une méthode possible est d'avoir une ComboBox qui référence les séries et permet d'en sélectionner une en particulier.
    Plus je connais de langages, plus j'aime le C.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    RE,

    Merci bien pour la réponse.

    J'aurai besoin de créer et supprimer des graphes d'une façon dynamique. Donc, la méthode de suppression en utilisant ou un combobox n'est pas possible pour moi.

    Bonne journée!

  10. #10
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Mais alors qu'appelles-tu "sélectionner une série" ?
    Comment tu fais cette sélection actuellement dans ton app ?
    Après si tes séries sont générées dynamiquement, rien ne t'empêche d'alimenter ta ComboBox à la volée.
    Plus je connais de langages, plus j'aime le C.

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Sélectionner une série en utilisant un menu contextuel et la souris.

  12. #12
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Un menu contextuel que tu as codé ? T'as quoi de fait ?
    Plus je connais de langages, plus j'aime le C.

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    J'ai codé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        private void chart1_MouseClick(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Right)
                {
                    ContextMenu m = new ContextMenu();
                    m.MenuItems.Add(new System.Windows.Forms.MenuItem("Delete", new System.EventHandler(this.delete_OnClick)));
     
     
                    m.Show(chart1, new System.Drawing.Point(e.X, e.Y));
     
                }  
     
            }

  14. #14
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Quelle version de VS utilises-tu ? Il me semble qu'il faut préférer ContextMenuStrip à ContextMenu.
    Quoiqu'il en soit tu peux :
    - poser un ContextMenuStrip dans le mode design,
    - l'associer à ton instance de Chart (via son attribut ContextMenuStrip, faisable depuis ses propriétés en mode design),
    - dans l'event Opening tu listes les series de ton Chart et tu ajoutes un ToolStripItem pour chacun avec :
    - - un texte explicite (ex. "delete" + serie.Name),
    - - un handler sur le click qui pointe vers la fonction qui fera la suppression,
    - - un Tag (attribut fourre-tout) où tu cales à nouveau le nom pour retrouver la série à supprimer.
    Ce qui donne (ici mon instance de Chart s'appelle chrtTest et mon instance de ContextMenuStrip ctxMenu):
    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
    // la fonction qu'on abonne au click des ToolStripItem
    void tsi_Click(object sender, EventArgs e) {
    	// on recherche le nom de la série via le Tag du ToolStripMenu à l'origine de l'appel
    	Series selected = chrtTest.Series.FindByName((string)((ToolStripItem)sender).Tag);
    	// on supprime la série en question
    	chrtTest.Series.Remove(selected);
    }
    // l'event Opening du ContextMenuStrip
    private void ctxMenu_Opening(object sender, System.ComponentModel.CancelEventArgs e) {
    	// on commence par supprimer les ajouts précédents éventuels
    	ctxMenu.Items.Clear();
    	// pour chaque série du chart
    	foreach (Series serie in chrtTest.Series) {
    		// on ajoute une entrée à notre menu contextuel
    		ToolStripItem tsi = ctxMenu.Items.Add("delete " + serie.Name);
    		// on met le nom de la série dans le Tag
    		tsi.Tag = serie.Name;
    		// on définit la fonction précédemment créée comme handler de l'event click de l'entrée
    		tsi.Click += tsi_Click;
    	}
    }
    Attention, ce code va effectivement supprimer une série mais ne permettra pas de la récupérer par la suite.
    Plus je connais de langages, plus j'aime le C.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Technicien d'ascenseur
    Inscrit en
    Août 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien d'ascenseur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Effacer que les données d'un graphique "Chart" en VB.
    Loin d'être un expert, je désirais également effacer que les données d'un graphique "Chart1" sans perdre les caractéristiques du graphique pour y insérer de nouvelles données. En tâtonnant, j'ai trouvé cette solution simple.


    Chart1 contient 2 séries de données ou graphiques soit "température max" et "température min". À l'aide d'un bouton de commande, "Button4", j'efface que les données du graphiques sans perdre les titres, légendes etc.



    Nom : Effacer données d'un graphique.png
Affichages : 755
Taille : 7,3 Ko

    Voilà,

Discussions similaires

  1. Effectuer un zoom Charts, Series, localToData
    Par alastra dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 02/11/2009, 14h38
  2. Supprimer la ligne courante d'un tableau
    Par SweetLeaf dans le forum Général JavaScript
    Réponses: 36
    Dernier message: 31/07/2008, 15h19
  3. Supprimer la ligne courante dans un ficher
    Par bazdik dans le forum Langage
    Réponses: 1
    Dernier message: 16/05/2007, 18h29
  4. [ASP.NET] Supprimer le cookie courant.
    Par castaka dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/01/2007, 15h55
  5. [PHP5][DOM]Supprimer le noeud courant
    Par panpan dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 03/05/2006, 15h01

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