上一篇讲到如何用net core创建一个简单的控制台应用: hello world,并且在linux中运行。
如何安装net core?如何编译程序并运行linux中?参见这篇;【Net Core开发】C# 开发跨平台程序
![620285bfb90eed5271d9c28b95d6d885.png](https://i-blog.csdnimg.cn/blog_migrate/4014fc6e72814ff64cba25e0a1537b8a.jpeg)
本篇讲解如何创建一个窗体应用并运行在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
![6501bdd6ffef9412cff73d516d9a0672.png](https://i-blog.csdnimg.cn/blog_migrate/1f78fdc988688ccd0d52e2c87b9c41e3.jpeg)
创建控制台应用
![c0b659cb84781aa6af528c4af0beed8d.png](https://i-blog.csdnimg.cn/blog_migrate/5eccd0e4929cc9d8e8e5f574640cc23d.jpeg)
下载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中运行
![e6d308c46cc33f856e5e792e915d889c.png](https://i-blog.csdnimg.cn/blog_migrate/c1591c39330407bc0eb21976aea7cf76.jpeg)
windows中运行
- 选择生成 - 发布,发布在本地的目录夹
- 将目录夹下的文件全部复制到linux系统中。
![34633c1344f99352cd29c835712e80f7.png](https://i-blog.csdnimg.cn/blog_migrate/9a3c6a75845d90b3672ba5a261360113.jpeg)
复制文件
- 运行程序
![22002d427cbecbffe5dbf3b3d1343a1a.png](https://i-blog.csdnimg.cn/blog_migrate/f2e25d8f0fb5408972492987fb47a276.jpeg)
完成简单的窗体显示;目前没有加入其它的控件,及相应的事件处理;
- net core创建winform窗体:相对于用net framework,其缺少工具栏,要想可以拖拽控件,需要安装winforms-designer插件,这个插件目前在VS2019预览版中有,需要安装;
目前来看,net core除了跨平台,实现窗体应用没有net framework方便快捷,毕竟net framework发展这么久,强大是必须的。
期待net core的新功能吧
欢迎留言讨论。