使用微软图表(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的新手。任何意见将不胜感激。
Mono上的WinForms被抛弃了,很多方法都没有像那样实现。
您可以使用(每个示例)gtk#或Eto。表单是支持多平台的gui工具包。
问题是你正在使用Mono项目的Windows Forms实现。WinForms在完成之前被Xamarin放弃了。因此您得到的异常是:NotImplementedException.
你有两个选择。
-
使用外部项目,如ZedGraph
-
自己画图表。如果你想走这条路,你可以在GitHub的WinFormsDemo代码中使用Chart类(免责声明:这是我的)作为例子。