Member 12605081 Ответов: 1

Как обновить piechart в C#


Я сделал метод, включающий код круговой диаграммы, и вызываю этот метод везде, где мне нужно обновить диаграмму, но всякий раз, когда я нажимаю на те кнопки, где я вызвал метод, круговая диаграмма автоматически дублирует значение. А также я пробовал Refresh () и Update option тоже, но это не работает.

Что я уже пробовал:

общественности частичного класс form1 : форма
{
открытый form1()
{
метод InitializeComponent();
}

частный недействительными методе form1_load(объект отправителя, EventArgs в электронной)
{
диаграмма();
}
частный недействительными графике()
{
chart1. серия ["новая"].Точки.AddXY ("Питер", " 1000");
chart1. серия ["новая"].Точки.AddXY ("Julia", " 1000");
}

частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
диаграмма();
}
}

BillWoodruff

В вашем коде нет никакой тайны: вы вызываете chart (), и точки добавляются снова.

Чтобы помочь вам в дальнейшем, нам действительно нужно знать, что такое "диаграмма", это то, что вы рисуете с помощью события Paint некоторого элемента управления; является ли это сторонним компонентом ?

И что же происходит такого, что вам нужно его освежить ? Быть конкретными.

Member 12605081

да, я использую сторонний компонент, и мне нужно его обновить , мне нужно решение, так что вы можете мне помочь

BillWoodruff

Понятно, но по какой причине вам нужно обновить внешний вид графика, когда точки данных не изменились ? Что такого "неправильного" видят ваши глаза ?

1 Ответов

Рейтинг:
2

JayantaChatterjee

Привет,
измените код метода:-

private void chart()
{
chart1.Series["new"].Points.AddXY("Peter", "1000");
chart1.Series["new"].Points.AddXY("Julia", "1000");
}

с этим:-
private void chart()
{
chart1.Series.["new"].Points.Clear();
chart1.Series["new"].Points.AddXY("Peter", "1000");
chart1.Series["new"].Points.AddXY("Julia", "1000");
}


Как говорит @BillWoodruff, каждый раз, когда вы звоните chart() метод он добавил дополнительные точки На ваш график, поэтому вам нужно очистить все предыдущие точки, а затем добавить новые точки на график..


BillWoodruff

"вам нужно очистить все предыдущие пункты"

имхо, это не то, что мы можем сделать сейчас из того, что сказал нам ОП ... пока что.

JayantaChatterjee

Да, вы правы..
Я думаю, что ОП показывает нам статическое значение для рендеринга диаграммы, но он может иметь дело с динамическими значениями.. вот почему я публикую это решение..