使用微软图表(WinForm)在Mono

本文关键字:WinForm Mono 微软 | 更新日期: 2023-09-27 17:51:21

我使用一个图表的简单的WindowsForm的例子。在Windows中运行良好。我正在使用XBuild在我的Windows平台上编译解决方案。当我尝试在我的Linux机器(Red Hat 6.8)上运行Mono(版本使用4.2.3.4)的可执行文件时,我得到一个错误消息:

    Unhandled Exception:
   System.NotImplementedException: The method or operation is not implemented.
   at System.Windows.Forms.DataVisualization.Charting.Chart.BeginInit () <0x40a79f40 + 0x00017> in <filename unknown>:0 
   at Data_grid.Form1.InitializeComponent () <0x40a6e680 + 0x002cd> in <filename unknown>:0 
   at Data_grid.Form1..ctor () <0x40a4c9f0 + 0x00027> in <filename unknown>:0 
   at (wrapper remoting-invoke-with-check) Data_grid.Form1:.ctor ()
   at Data_grid.Program.Main () <0x40a0bd90 + 0x0002f> in <filename unknown>:0 
   [ERROR] FATAL UNHANDLED EXCEPTION: System.NotImplementedException: The method or operation is not implemented.
   at System.Windows.Forms.DataVisualization.Charting.Chart.BeginInit () <0x40a79f40 + 0x00017> in <filename unknown>:0 
   at Data_grid.Form1.InitializeComponent () <0x40a6e680 + 0x002cd> in <filename unknown>:0 
   at Data_grid.Form1..ctor () <0x40a4c9f0 + 0x00027> in <filename unknown>:0 
   at (wrapper remoting-invoke-with-check) Data_grid.Form1:.ctor ()
   at Data_grid.Program.Main () <0x40a0bd90 + 0x0002f> in <filename unknown>:0

我是c#和Linux的新手。任何意见将不胜感激。

使用微软图表(WinForm)在Mono

Mono上的WinForms被抛弃了,很多方法都没有像那样实现。

您可以使用(每个示例)gtk#或Eto。表单是支持多平台的gui工具包。

问题是你正在使用Mono项目的Windows Forms实现。WinForms在完成之前被Xamarin放弃了。因此您得到的异常是:NotImplementedException.

你有两个选择。

  1. 使用外部项目,如ZedGraph

  2. 自己画图表。如果你想走这条路,你可以在GitHub的WinFormsDemo代码中使用Chart类(免责声明:这是我的)作为例子。