none
changer dynamiquement microsoft chart contreol's type RRS feed

  • Question

  • salut tout le monde,

    j'utilise dans mon applicatopn vb.net le microsoft chart et maintenant j'ai besoin de changer lors de l'éxécution le type de ma chart.

    Merci pour tout aide.


    dsf
    mardi 19 avril 2011 09:56

Réponses

  • Bonjour,

     

    Imports System.Reflection
    
    Public Class Form1
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Obtenir la liste des SeriesChartType
        Dim liste() As FieldInfo = GetType(DataVisualization.Charting.SeriesChartType).GetFields
        For i = LBound(liste) + 1 To UBound(liste)
          ComboBox1.Items.Add(liste(i).Name)
        Next
        ComboBox1.SelectedIndex = 0
    
        'Ajouter des points au graphique (que cela soit fait avec un DataSet ou non)
        Chart1.Series.Item(0).Points.Add(0)
        Chart1.Series.Item(0).Points.Add(1)
        Chart1.Series.Item(0).Points.Add(1)
        Chart1.Series.Item(0).Points.Add(2)
        Chart1.Series.Item(0).Points.Add(3)
        Chart1.Series.Item(0).Points.Add(5)
        Chart1.Series.Item(0).Points.Add(8)
        Chart1.Series.Item(0).Points.Add(13)
        Chart1.Series.Item(0).Points.Add(21)
        Chart1.Series.Item(0).Points.Add(34)
      End Sub
    
      Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        SetChartType(ComboBox1.SelectedIndex)
      End Sub
    
      'Changement du type du graphique
      Private Sub SetChartType(ByVal index As Integer)
        Chart1.Series.Item(0).ChartType = index
        Chart1.Titles.Item(0).Text = [Enum].GetName(GetType(DataVisualization.Charting.SeriesChartType), index)
      End Sub
    End Class
    
    

     

    Voila ce que je viens de coder, je récupère la liste des types dans un combobox et je change le type en sélectionnant un type dans le combobox.

     

    Pj.

     

    • Proposé comme réponse pjaaar mercredi 20 avril 2011 08:25
    • Marqué comme réponse Ciprian Duduiala jeudi 21 avril 2011 12:27
    mercredi 20 avril 2011 08:16

Toutes les réponses

  • Bonjour,

     

    Imports System.Reflection
    
    Public Class Form1
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Obtenir la liste des SeriesChartType
        Dim liste() As FieldInfo = GetType(DataVisualization.Charting.SeriesChartType).GetFields
        For i = LBound(liste) + 1 To UBound(liste)
          ComboBox1.Items.Add(liste(i).Name)
        Next
        ComboBox1.SelectedIndex = 0
    
        'Ajouter des points au graphique (que cela soit fait avec un DataSet ou non)
        Chart1.Series.Item(0).Points.Add(0)
        Chart1.Series.Item(0).Points.Add(1)
        Chart1.Series.Item(0).Points.Add(1)
        Chart1.Series.Item(0).Points.Add(2)
        Chart1.Series.Item(0).Points.Add(3)
        Chart1.Series.Item(0).Points.Add(5)
        Chart1.Series.Item(0).Points.Add(8)
        Chart1.Series.Item(0).Points.Add(13)
        Chart1.Series.Item(0).Points.Add(21)
        Chart1.Series.Item(0).Points.Add(34)
      End Sub
    
      Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        SetChartType(ComboBox1.SelectedIndex)
      End Sub
    
      'Changement du type du graphique
      Private Sub SetChartType(ByVal index As Integer)
        Chart1.Series.Item(0).ChartType = index
        Chart1.Titles.Item(0).Text = [Enum].GetName(GetType(DataVisualization.Charting.SeriesChartType), index)
      End Sub
    End Class
    
    

     

    Voila ce que je viens de coder, je récupère la liste des types dans un combobox et je change le type en sélectionnant un type dans le combobox.

     

    Pj.

     

    • Proposé comme réponse pjaaar mercredi 20 avril 2011 08:25
    • Marqué comme réponse Ciprian Duduiala jeudi 21 avril 2011 12:27
    mercredi 20 avril 2011 08:16
  • voici mon code :(en vb)

     Private Sub Combobox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Combobox.SelectedIndexChanged

    Me.Chart1.Series(0).ChartType = TypeChart.SelectedIndex

    End Sub

    c'est le meme principe de ton code:tout se passe bien et les données sont affichées correctement sauf que je peux pas changer le type de ma graphe.


    dsf
    mercredi 20 avril 2011 09:08
  • Merci mon code est fiable c'était une faute d'indéxation;j'ai oublié que le combobox commence par l'index 0.

    Merci pour vos aide.


    dsf
    mercredi 20 avril 2011 09:24
  • Ravi d avoir pu t aider ;)

     

    Pj.

    mercredi 20 avril 2011 09:39