如何在空的MS Chart ChartArea上绘制文本?

Jef*_*ang 5 drawing mschart

我正在使用Microsoft的Chart控件绘制一些系列,但如果我没有数据,我想在绘图区域显示"No Data Series".

像这样:

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

我有一个预感,它与手动将一些文字绘制到图像上有关,但我不知道从哪里开始.任何人?

woo*_*hoo 2

您可以创建一个后绘制事件处理程序,您可以在其中绘制您的东西:

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(...);
}
Run Code Online (Sandbox Code Playgroud)

使用免费软件 ILSpy查看 MSChart dll 内部。Graphics.DrawString 方法有多个重载。使用最适合您的一种。

希望这可以帮助。