上一篇讲到如何用net core创建一个简单的控制台应用: hello world,并且在linux中运行。
如何安装net core?如何编译程序并运行linux中?参见这篇;【Net Core开发】C# 开发跨平台程序

本篇讲解如何创建一个窗体应用并运行在windows和linux中.
- 安装GTK+ 运行时:
GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。
下载地址: https://github.com/GtkSharp/Dependencies/raw/master/gtk-3.24.zip
如果迅雷下载不成功,多试几次;实在不行,留言,我发给你;
下载完成后解压;并将解压文件复制到如下路径:
C:甥敳獲CaryAppDataLocalGtk3.24
其中Cary替换成你的用户名,GTK3.24文件夹要自行创建
- 打开 Visual Studio 新建一个 .NET Core 控制台应用,Nuget下载GtkSharp

创建控制台应用

下载gtkSharp包
- 编写测试代码:
static void Main(string[] args)
{
Application.Init();//初始化
var win = new Window("Hello World");//新建窗体,标题是Hello World
win.SetDefaultSize(800, 600);
var lable = new Label("This is a lable");//新建标签
win.Add(lable);//将标签加入到窗体
win.ShowAll();//显示窗体
Application.Run();//运行窗体
Console.WriteLine("Hello World!");
}
- 在windows中运行

windows中运行
- 选择生成 - 发布,发布在本地的目录夹
- 将目录夹下的文件全部复制到linux系统中。

复制文件
- 运行程序

完成简单的窗体显示;目前没有加入其它的控件,及相应的事件处理;
- net core创建winform窗体:相对于用net framework,其缺少工具栏,要想可以拖拽控件,需要安装winforms-designer插件,这个插件目前在VS2019预览版中有,需要安装;
目前来看,net core除了跨平台,实现窗体应用没有net framework方便快捷,毕竟net framework发展这么久,强大是必须的。
期待net core的新功能吧
欢迎留言讨论。