Как нарисовать текст на пустом MS Chart ChartArea?

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

Как это:

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

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


person Jeff Meatball Yang    schedule 09.11.2009    source источник
comment
Проверьте этот ответ. stackoverflow.com/questions/14051948/   -  person Stuart    schedule 28.11.2016


Ответы (1)


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

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, чтобы заглянуть внутрь dll MSChart. Существует несколько перегрузок метода Graphics.DrawString. Используйте тот, который лучше всего подходит для вас.

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

person scrat.squirrel    schedule 13.07.2011