Рейтинг:
8
JF2015
Смотрите здесь элемент управления MS-Chart. Это часть .NET (так что нет 3-й партии) и делает все, что вам может понадобиться:
http://code.msdn.microsoft.com/mschart[^]
Отредактированный:
Элементы управления являются частью системы .NET framework 4.0, так что нет необходимости их скачивать. Вам нужно загрузить элементы управления, если вы используете более раннюю версию .NET (я думаю, что это работает вплоть до .NET 2.0). Затем вам нужно добавить ссылку на элемент управления chart в свой проект C#, прежде чем вы сможете их использовать. Взгляните на примеры, которые содержатся в загрузке или по ссылке, которую я разместил - они дают довольно хорошее начало.
Отредактировано 2:
См. здесь обзор пространства имен для элемента управления диаграммой:
http://msdn.microsoft.com/en-us/library/system.windows.forms.datavisualization.charting.aspx[^]
Отредактировано 3:
Если вы используете .NET 4.0, вам не нужно распространять dll-файлы на целевую машину. Если вы используете версию < 4.0, вам нужно скопировать dll-файлы в папку исполняемого файла вашего приложения или зарегистрировать dll-файлы в gac.
arunmj
большое спасибо приятель :)
Sergey Alexandrovich Kryukov
ОП спросил о вариантах без 3-й партии. Я изобразил, что тут происходит.
JF2015
МС контроль графика является частью .Продажи начиная с версии 3.5. Так это на деле является оригинальной .Чистый контроль и никакой третьей стороны!
arunmj
привет jf2015,,
не могли бы вы объяснить немного больше в этом вопросе ??
нужно ли мне загружать дополнения с упомянутого веб-сайта, чтобы получить элементы управления ??...
arunmj
объясните немного подробнее о процедуре, чтобы быть Дон плз ..?
Sergey Alexandrovich Kryukov
Я не нашел его в 3.5, а потом понял, что это отдельный продукт. Таким образом, хотя это и не сторонняя, но и не стандартная библиотека GAC. Я не уверен на 100%, что это именно то, что хотел ОП, из-за проблем развертывания/повторного распространения и т. д.
Арун, что ты скажешь?
JF2015
Извините, моя ошибка - это часть .NET 4.0, как указано в этой ссылке: http://code.msdn.microsoft.com/mschart
arunmj
К СА:
Поскольку это часть MSDN, то она точно не является третьей стороной ,,
это лучше, чем использовать третью сторону. я более свежая, так что у меня нет большого представления об этом.
Sergey Alexandrovich Kryukov
Так, будет ли это сделать вы, используя В. 4.0 (и, вероятно, по сравнению с 2010 годом)?
arunmj
да, его нужно изменить на v 4.0.(VS 2010)
Sergey Alexandrovich Kryukov
Идеальный. Надеюсь, теперь у вас есть другой, мощный вариант.
Удачи и звоните еще раз!
--СА
Sergey Alexandrovich Kryukov
Я только что нашел его: есть страница загрузки для 3.5, я все еще не уверен насчет 4.0. Он в комплекте? Не могли бы вы разместить полное пространство имен/имена классов? (потому что я не нашел его в V.4. 0)
Sergey Alexandrovich Kryukov
Наконец: см. раздел Система.Окна.Формы.DataVisualization.Картирование
@JF2015: это было не совсем на поверхности...
Давайте посмотрим, готов ли ОП перейти к V.4.0 (или V. 3. 5 с надстройкой)...
Espen Harlinn
Хороший ответ :)
Рейтинг:
18
Sergey Alexandrovich Kryukov
Это зависит от того, какую библиотеку пользовательского интерфейса вы хотите использовать: System.Windows.Forms
или WPF.
WPF is much more powerful and easier to use (when it comes to plotting, I don't say in general). There are many approaches. I thing you need to use canvas and put graphical objects on it. In this case, you don't have to care about rendering of graphics, you only support properties of your objects. Quality and performance are very good as it all based on ActiveX, all graphics is anti-aliased, with full support of transparency (alpha channel). You can automatically scale you graphic, fit it with preserved aspect ratio or otherwise, perform affine transformations and a lot more. One can develop plotting components using set of objects composed out of graphical primitives (such as Rectangle, Ellipse, Besier curve, Text, etc.).
В отличие от этого, System.Windows.Forms
нуждается в рендеринге, который вы можете сделать в обработчике событий элемента управления Paint
(или переопределенный метод OnPaint
). Вы можете создать пользовательский элемент управления или использовать Panel
или контроль, производный от Panel
Аргумент события несет в себе Graphics
объект, используемый для вызова его методов рисования. Эта функция рендеринга основана на сообщении Windows WM_PAINT
. Как и в нативных Windows GDI и GDI+, необходимо определить процедуру рендеринга, вызываемую каждый раз WM_PAINT
отправляется в управление. Событие не отправляется до тех пор, пока управление не будет признано недействительным. Это перегруженный метод Control.Invalidate
поставляется в безпараметрическом разнообразии, используемом для аннулирования элемента управления, а также с параметрами, используемыми для аннулирования некоторого подмножества сцены: Region
или Rectangle
Таким образом, модификация графики осуществляется путем модификации некоторых данных, используемых при рендеринге, с последующим вызовом Invalidate
В отличие от WPF, рисование примитивов всегда выполняется в пикселях, однако пиксельные измерения имеют float
тип: благодаря (необязательному) сглаживанию используется субпиксельная точность измерений графических примитивов. Эта библиотека также предоставляет достаточные возможности для разработки компонентов построения графиков. Он требует большего понимания механизмов рендеринга и обычно обеспечивает более низкую производительность по сравнению с WPF.
Дальнейшие вопросы приветствуются.
Удачи,
--СА
JF2015
Хороший и очень подробный ответ.
arunmj
Спасибо за подробное объяснение,,,,
Espen Harlinn
Хороший ответ :)
Sergey Alexandrovich Kryukov
Спасибо, Эспен. Это восходит к множеству повторяющихся вопросов о рендеринге и объектах.
Было бы хорошо иметь один обзор для ссылки, чтобы сделать ответ быстрее и точнее...
--СА