Как нарисовать текст на пустой диаграмме MS ChartArea? - PullRequest
5 голосов
/ 09 ноября 2009

Я использую элемент управления Microsoft Chart для построения ряда рядов, но если у меня нет данных, я хочу отобразить «Нет рядов данных» в области, где будет график.

Как это:

Similarpic http://blogs.telerik.com/Libraries/MetaBlogLib/WindowsLiveWriter-CreatingabasicChart_D20D-image_thumb.sflb

У меня есть подозрение, что это связано с ручным нанесением текста на изображение, но я не знаю, с чего начать. Кто-нибудь?

1 Ответ

2 голосов
/ 13 июля 2011

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

mychart.PostPaint += new EventHandler<ChartPaintEventArgs>(PostPaintEventHandler);
...
static void PostPaintEventHandler(object sender, ChartPaintEventArgs e)
{
  //sender here is the chart... you can use that too.
  //use e.ChartGraphics object to paint something
  e.ChartGraphics.DrawString(...);
}

Используйте бесплатное ILSpy , чтобы заглянуть внутрь MSChart dll. Есть несколько перегрузок метода Graphics.DrawString. Используйте тот, который подходит вам лучше всего.

Надеюсь, это поможет.

...