當(dāng)我們?cè)谑褂?Visual Studio 2019 非預(yù)覽版本開(kāi)發(fā) Windows Forms App (.NET Core) 應(yīng)用程序時(shí)是不能使用窗體設(shè)計(jì)器的。即使在窗體文件上右擊選擇“顯示設(shè)計(jì)器”菜單,仍舊只能看到代碼,無(wú)法打開(kāi)窗體設(shè)計(jì)器。 根據(jù)微軟開(kāi)發(fā)者博客的描述,我們可以使用 Visual Studio 2019 預(yù)覽通道,將 Visual Studio 2019 更新至 16.6 來(lái)啟用設(shè)計(jì)器(參見(jiàn):Updates on .NET Core Windows Forms designer)。 在不啟用預(yù)覽通道的情況下,我們?nèi)匀豢梢酝ㄟ^(guò)更改項(xiàng)目文件來(lái)讓項(xiàng)目支持窗體設(shè)計(jì)器。 當(dāng)我們新建一個(gè) .NET Core Windows Forms 程序時(shí),我們的項(xiàng)目文件(*.csproj)通常包含以下內(nèi)容: <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup></Project>
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup></Project> 保存更改后,Visual Studio 可能會(huì)提示重新加載。確認(rèn)重新加載,窗體設(shè)計(jì)器就可以使用了: 通過(guò)為項(xiàng)目增加 .NET Framework 目標(biāo)框架來(lái)啟用設(shè)計(jì)器 做完這一步,我們的代碼會(huì)無(wú)法通過(guò)編譯。這是因?yàn)轫?xiàng)目中使用了一個(gè)新的 API : /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() {#if NETCOREAPP Application.SetHighDpiMode(HighDpiMode.SystemAware);#endif Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmMain()); } 點(diǎn)擊“調(diào)試”按鈕的下拉項(xiàng)對(duì)目標(biāo)框架進(jìn)行切換: 切換調(diào)試項(xiàng)目的目標(biāo)框架 程序運(yùn)行起來(lái)后,效果令人滿意: .NET Core Windows Forms 運(yùn)行效果 文章來(lái)源:在 Visual Studio 2019 中為 .NET Core WinForm App 啟用窗體設(shè)計(jì)器 |
|