Luis Marques Posted April 26, 2009 at 01:30 AM Report #259112 Posted April 26, 2009 at 01:30 AM Boas, Contrui um grafico que carrega os dados apartir de 2 textbox, onde as texbox sao carregadas atraves de outros botoes. Mas cada vezes que os valores das textbox mudam , e carrego no botao para criar grafico novamente, dá erro, porque os dados mudam. O que precisava era cada vez que clica se no botao para gerir o grafico, o mesmo fosse "destruido", para que um novo pudesse ser criado. Vou mostrar o codigo que tenho para criar o grafico: Dim chartArea1 As New ChartArea() Chart1.ChartAreas.Add(chartArea1) Chart1 = New Chart() Chart1.ChartAreas.Add(chartArea1) Dim series1 As New Series() Dim series2 As New Series() series1.Points.Add(TextBox1.Text) series2.Points.Add(TextBox2.Text) series1.IsValueShownAsLabel = True series2.IsValueShownAsLabel = True series2.AxisLabel = " " chartArea1.Area3DStyle.Enable3D = True Chart1.Series.Add(series1) Chart1.Series.Add(series2) Chart1.Location = New System.Drawing.Point(595, 300) Chart1.Size = New System.Drawing.Size(300, 200) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Chart1}) LM
Luis Marques Posted April 26, 2009 at 01:36 PM Author Report #259160 Posted April 26, 2009 at 01:36 PM Ninguem sabes uma maneira de resolver isso? LM
jpaulino Posted April 26, 2009 at 06:31 PM Report #259190 Posted April 26, 2009 at 06:31 PM Dá lá mais detalhes como estás a fazer isso. Que tipo de gráficos são ?
Luis Marques Posted April 26, 2009 at 06:42 PM Author Report #259196 Posted April 26, 2009 at 06:42 PM É um grafico de barras Aqui está um print. http://img156.imageshack.us/img156/9136/28734920.jpg Cada vez que eu clico num mes, vai carregar as 2 textbox que tenho, com valores, depois ao clicar no botao para criar o grafico dá erro, por isso é que eu queria arranjar uma maneira de cada vez que clicasse no botao para criar o grafico, apaga se o que ja existe? tas a ver a ideia? LM
Luis Marques Posted April 26, 2009 at 10:29 PM Author Report #259245 Posted April 26, 2009 at 10:29 PM Esquecime de dizer que o erro é o seguinte : "Object reference not set to an instance of an object." LM
jpaulino Posted April 26, 2009 at 10:33 PM Report #259246 Posted April 26, 2009 at 10:33 PM Mas que tipo de gráficos estás a usar ?
Luis Marques Posted April 26, 2009 at 10:36 PM Author Report #259247 Posted April 26, 2009 at 10:36 PM Microsoft charts LM
jpaulino Posted April 26, 2009 at 11:43 PM Report #259258 Posted April 26, 2009 at 11:43 PM Desculpa lá o atraso na resposta mas não foi mesmo possível mais cedo! Vou tentar explicar: Tu ao colocares um gráfico no form ele fica logo disponível, ou seja, é criada uma instância do gráfico e colocada no form. Outra maneira de o fazer é a seguinte: Dim Chart1 As New Chart Me.Controls.Add(Chart1) Isto cria um novo gráfico e adiciona-o ao form. Ora o que tu estás a tentar fazer é adicionar um gráfico que já está no form. Não podes! O que tens de fazer é apagar os dados já existenter (Series, ChartAreas) e carregares novamente a informação. Tenta assim: ' Limpa a informação anterior Chart1.ChartAreas.Clear() Chart1.Series.Clear() ' Define nova informação Dim chartArea1 As New ChartArea() Chart1.ChartAreas.Add(chartArea1) Dim series1 As New Series() Dim series2 As New Series() series1.Points.Add(TextBox1.Text) series2.Points.Add(TextBox2.Text) series1.IsValueShownAsLabel = True series2.IsValueShownAsLabel = True series2.AxisLabel = " " chartArea1.Area3DStyle.Enable3D = True Chart1.Series.Add(series1) Chart1.Series.Add(series2)
Luis Marques Posted April 27, 2009 at 08:06 AM Author Report #259287 Posted April 27, 2009 at 08:06 AM Já está obrigado:D LM
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now