一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

在 Visual Studio 2019 中為 .NET Core WinForm App 啟用窗體設(shè)計(jì)器

 行者花雕 2021-04-02

當(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>

TargetFramework 標(biāo)簽標(biāo)識(shí)我們程序的目標(biāo)框架是 .netcoreapp3.1 。如果我們的項(xiàng)目同時(shí)可以支持 .NET Framework 那么就可以在 Visual Studio 中使用設(shè)計(jì)器,可以使用 TargetFrameworks 標(biāo)簽來(lái)讓項(xiàng)目支持多個(gè)目標(biāo)框架:

<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ì)器

通過(guò)為項(xiàng)目增加 .NET Framework 目標(biāo)框架來(lái)啟用設(shè)計(jì)器

做完這一步,我們的代碼會(huì)無(wú)法通過(guò)編譯。這是因?yàn)轫?xiàng)目中使用了一個(gè)新的 API :SetHighDpiMode ,但是 .NET Framework 4.7.2 并不支持??梢酝ㄟ^(guò)條件編譯來(lái)限定對(duì) SetHighDpiMode 的調(diào)用僅在 .NET Core APP 下生效。當(dāng)目標(biāo)框架是 .NET Core 時(shí),生成系統(tǒng)可以識(shí)別 NETCOREAPP 處理器符號(hào)(感謝 @麥殼餅 的提示)。對(duì) Program.cs 文件中 Main 方法的代碼稍作修改即可編譯通過(guò):

        /// <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)框架

切換調(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ì)器

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    婷婷激情四射在线观看视频 | 欧美日韩精品人妻二区三区| 亚洲人午夜精品射精日韩| 欧美尤物在线视频91| 日本黄色美女日本黄色| 激情五月天免费在线观看| 欧美人妻一区二区三区| 国产精品久久三级精品| 97人摸人人澡人人人超碰| 精品欧美在线观看国产| 福利在线午夜绝顶三级| 中文人妻精品一区二区三区四区| 久草视频在线视频在线观看| 午夜精品久久久免费视频 | 91国自产精品中文字幕亚洲| 欧美大胆女人的大胆人体| 美日韩一区二区精品系列| 91人妻久久精品一区二区三区 | 欧美精品在线观看国产| 欧美日韩在线第一页日韩| 日本不卡在线视频中文国产| 久久人妻人人澡人人妻| 久久精品免费视看国产成人| 欧美一区二区三区五月婷婷| 九九热精品视频在线观看| 欧美国产日韩在线综合| 91日韩欧美在线视频| 国内自拍偷拍福利视频| 91天堂免费在线观看| 不卡视频在线一区二区三区| 狠狠亚洲丁香综合久久| 91爽人人爽人人插人人爽| 日本在线 一区 二区| 亚洲天堂精品一区二区| 久久亚洲成熟女人毛片| 国产日产欧美精品视频| 亚洲国产精品肉丝袜久久| 天海翼精品久久中文字幕 | 亚洲中文字幕在线乱码av| 日韩特级黄片免费观看| 日本东京热加勒比一区二区|