您好,登錄后才能下訂單哦!
這篇文章主要講解了“VisualStudio2019怎么實(shí)現(xiàn).NET Core WinForm App啟用窗體設(shè)計(jì)器”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“VisualStudio2019怎么實(shí)現(xiàn).NET Core WinForm App啟用窗體設(shè)計(jì)器”吧!
當(dāng)我們在使用 Visual Studio 2019 非預(yù)覽版本開發(fā) Windows Forms App (.NET Core) 應(yīng)用程序時(shí)是不能使用窗體設(shè)計(jì)器的。即使在窗體文件上右擊選擇“顯示設(shè)計(jì)器”菜單,仍舊只能看到代碼,無法打開窗體設(shè)計(jì)器。
根據(jù)微軟開發(fā)者博客的描述,我們可以使用 Visual Studio 2019 預(yù)覽通道,將 Visual Studio 2019 更新至 16.6 來啟用設(shè)計(jì)器(參見:Updates on .NET Core Windows Forms designer)。
在不啟用預(yù)覽通道的情況下,我們?nèi)匀豢梢酝ㄟ^更改項(xiàng)目文件來讓項(xiàng)目支持窗體設(shè)計(jì)器。
當(dāng)我們新建一個 .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>
TargetFramework
標(biāo)簽標(biāo)識我們程序的目標(biāo)框架是.netcoreapp3.1
。如果我們的項(xiàng)目同時(shí)可以支持 .NET Framework 那么就可以在 Visual Studio 中使用設(shè)計(jì)器,可以使用TargetFrameworks
標(biāo)簽來讓項(xiàng)目支持多個目標(biāo)框架:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFrameworks>net472;netcoreapp3.1</TargetFrameworks> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup> </Project>
保存更改后,Visual Studio 可能會提示重新加載。確認(rèn)重新加載,窗體設(shè)計(jì)器就可以使用了:
通過為項(xiàng)目增加 .NET Framework 目標(biāo)框架來啟用設(shè)計(jì)器
做完這一步,我們的代碼會無法通過編譯。這是因?yàn)轫?xiàng)目中使用了一個新的 API :SetHighDpiMode
,但是 .NET Framework 4.7.2 并不支持??梢酝ㄟ^條件編譯來限定對SetHighDpiMode
的調(diào)用僅在 .NET Core APP 下生效。當(dāng)目標(biāo)框架是 .NET Core 時(shí),生成系統(tǒng)可以識別NETCOREAPP
處理器符號(感謝 @麥殼餅 的提示)。對 Program.cs 文件中 Main 方法的代碼稍作修改即可編譯通過:
/// <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)對目標(biāo)框架進(jìn)行切換:
切換調(diào)試項(xiàng)目的目標(biāo)框架
程序運(yùn)行起來后,效果令人滿意:
.NET Core Windows Forms 運(yùn)行效果
感謝各位的閱讀,以上就是“VisualStudio2019怎么實(shí)現(xiàn).NET Core WinForm App啟用窗體設(shè)計(jì)器”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對VisualStudio2019怎么實(shí)現(xiàn).NET Core WinForm App啟用窗體設(shè)計(jì)器這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。