我是一名 ASP.NET 程序員,專注於 B/S 項目開發。累計文章閱讀量超過一千萬,我的博客主頁地址:https://www.itsvse.com/blog_xzz.html
引言
.net core 3.1 是微軟LTS長期3年支持版本,正式發布於2019-12-03,並且在windows平台上支持了Winfrom跟WPF桌面應用。本文將介紹使用 vs 2019 開發 Windows Forms 桌面應用程序。
開發 Windows Forms 程序
首先,打開 vs 2019 ide 工具,新建一個 Windows Forms App(.Net Core) 項目,如下圖:
默認是 .net core 3.1 的框架。
雙擊 Form1 發現並沒有彈出窗體設計器,what?
沒有5年10年的開發經驗,讓我直接手寫 WinForm 代碼,這不是給我開玩笑嘛。
最后,發現需要安裝“winforms-designer”插件,才能使用窗體設計器,使用拖拽控件的方式。
https://aka.ms/winforms-designer
在Visual Studio 16.5 Preview 1中更新到.NET Core Windows Forms設計器
我們很高興宣布.NET Core Windows窗體設計器的新預覽版,可在Visual Studio 16.5 Preview 1中使用。
令人欣慰的是,設計師現在已成為Visual Studio的一部分!這意味着不再需要從單獨的VSIX安裝.NET Core Windows Forms設計器!
要使用設計器:
您必須使用Visual Studio 16.5 Preview 1或更高版本。
您需要在Visual Studio中啟用設計器。轉到“ 工具” >“ 選項” >“ 環境” >“ 預覽功能”,然后選擇“ 將預覽Windows窗體設計器用於.NET Core應用程序”選項。
然后,開始更新 vs 2019,點擊導航欄的:工具 - 檢查更新,發現新版本,更新之。
發現事情並不是那么簡單,更新的是發布版本,只有預覽版才有這功能,正式版本最高才 16.4.2。
解決辦法
1.單獨的VSIX安裝.NET Core Windows Forms設計器
2.項目做如下更改:
將
<TargetFramework>netcoreapp3.1</TargetFramework>
更改為
<TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks>
重新編譯之,報錯如下:
- “Application”未包含“SetHighDpiMode”的定義
- 當前上下文中不存在名稱“HighDpiMode”
點擊跳轉到錯誤代碼,注釋之。
//Application.SetHighDpiMode(HighDpiMode.SystemAware);
再次雙擊“Form1.cs”文件,就可以看到我們的設計器了,我們就可以拖拖控件了。如下圖: