VB2010 : votre avis sur erreur

Signaler
Messages postés
4
Date d'inscription
mardi 5 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2012
-
Messages postés
4
Date d'inscription
mardi 5 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2012
-
Bonjour tout le monde

je suis sur mon premier programme Vb2010. je bloque sur un truc bete. et la j'ai besoin d'un avis exterieur

le programme est un windows form avec :
-une base de donnees de temperature pour des villes tous les mois
-2 combo box pour choisir une ville et un mois de l'annee
-un bouton pour lancer la recherche
-2 listbox pour recuperer la combinaison ville-temperature

le programme marche nickel lors de la 1er recherche. un chart est dessine, les listbox se remplissent.
MAIS si je relance une recherche avec une ville differente, le chart ne se remplace pas et les list box ne se vident pas...

je precise que le programme marchait parfaitement sous VB2008 ( les recherches a la suite aucun souci)

mais avec vb2010, ca coince.. en cherchant peut etre qu'il faut utiliser un stream mais je vois pas trop comment l'utiliser. merci de votre aide,

CODE :
=================================================

Sub Calcultp()

ListBox2.Items.Clear()
ListBox3.Items.Clear()
PictureBox4.Controls.Clear()

*********************************************************8
je vous mets pas le code entier. j'enleve la section qui recherche dans la BD car ca marche bien
********************************************************************

'Créer un Chart
Dim Chart1 As New Chart

' Créer ChartArea (zone graphique)
Dim ChartArea1 As New ChartArea()
' Ajouter le Chart Area à la Collection ChartAreas du Chart
Chart1.ChartAreas.Add(ChartArea1)
' Créer 1 series (qui contiendra les DataPoint)
Dim series1 As New Series()

' Ajouter des points à la collections Points de la première series
'combobox5 contient les mois de l'annee
'listbox3 contient les temperatures
For i = 0 To 11
series1.Points.AddXY(ComboBox5.Items(i), ListBox3.Items(i))
Next i



'On affiche la Series sur le ChartArea1
series1.ChartArea = "ChartArea1"

' Ajouter la serie à la collection Series du chart
Chart1.Series.Add(series1)
Chart1.Palette = ChartColorPalette.Fire

Chart1.ChartAreas(0).AxisX.Title = "Mois"
Chart1.ChartAreas(0).AxisY.Title = "Temperature"


'Affichons les valeurs Y au dessus de chaque colonne
Chart1.Series(0).IsValueShownAsLabel = True

' Positionner le controle Chart
Chart1.Location = New System.Drawing.Point(0, 0)
' Dimensionner le Chart
Chart1.Size = New System.Drawing.Size(375, 284)
' Ajouter le chart à la form

Me.PictureBox4.Controls.Add(Chart1)

Chart1.SaveImage("c:\chart1.bmp", ChartImageFormat.Bmp)
Chart1.Images.Dispose()

End Sub

5 réponses

Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

Quelle bibliothèque contient la classe Chart, car tu ne le précise pas ?
En pas à pas, ça passe bien partout ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
4
Date d'inscription
mardi 5 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2012

merci Henry pour la reponse rapide
en pas a pas ca passe bien. pas de bug. seulement le chart ne change pas et les 2 listbox ne se vident pas. les resultats s'affichent les uns a la suite des autres dans les listbox ( ca fausse le calcul pour construire le nouveau chart du coup)

la structure est

Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1

sub fonction1
end sub

sub fonction2
end sub

private sub boutton1 click
fonction1
end sub

private sub boutton2 click
fonction2
end sub
Messages postés
14770
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
27 février 2021
151
Bonjour,

As-tu fais un Clear sur les séries ?
As-tu vérifier le nombre d'item dans les ListBox après le Clear ?

Car si tout est à 0, c'est pas normal du tout.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Messages postés
4
Date d'inscription
mardi 5 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2012

Bonjour Henry

aujourd'hui j'ai remis la tete dans le code.
j'ai deplace les listbox.item.clear

ListBox2.Items.Clear()
ListBox3.Items.Clear()

ils sont plus bas dans le code, juste avant la ligne qui les remplit
et maintenant les 2 listbox se vident. ca marche.

marlgre tout, le chart ne s'efface pas. et le 2nd chart ( apres 2nd click boutton) ne s'affiche toujours pas.

je continue a regarder..
Messages postés
4
Date d'inscription
mardi 5 décembre 2000
Statut
Membre
Dernière intervention
15 avril 2012

ca y est j'ai tout qui marche

les listbox.clear and picturebox.control.clear ne marchent en tout debut de fonction.

il fallait les deplacer plus loin dans le code.

le picturebox.control.clear est place juste apres la declaration du chart ( dim chart, dim serie etc..)
et ca fonctionne..