【C#学习记录】添加控件后工具箱不显示是什么原因

大家好,我是雷工!
今天在一个Winform程序中用到将WindowsMediaPlayer控件添加到工具箱,但添加了好几次,工具箱内均无法显示,经翻找资料和验证确认是跟创建项目时选择的模板有关,为了遇到同样问题的小伙伴能够快速解决问题,现将问题情况记录如下:

一、问题描述

1、VS版本信息:

在这里插入图片描述

2、现象描述:

选择工具箱的windows 窗体,鼠标右击,在弹出菜单中选【选择项】,弹出自定义工具箱的对话框,在com组件中可找到windows media player控件,勾选,点确定,将WindowsMediaPlayer控件添加到工具箱,但添加了好几次,工具箱内均无法显示。

3、错误提示:

“下列控件已成功添加到工具箱中,但未在活动设计器中启用”;
“请确认要添加的控件能够兼容当前设计器和.NET Framework”。
在这里插入图片描述

二、问题原因及验证过程

在创建Winform程序时会有两个非常相似的模板,如下图所示
问题的原因在于是选择的是【模板一】Windows窗体应用还是【模板二】Windows窗体应用(.NET Framework)。
以下分别验证两种模板。

在这里插入图片描述

1、选【模板一】Windows窗体应用时

1.1、配置过程,下一步。

在这里插入图片描述

1.2、框架选择部分只有【.NET6.0(长期支持)】和【.NET(标准期限支持)】两个选项,选【.NET6.0】点创建。

在这里插入图片描述

1.3、添加Windows Media Player控件,但工具箱不显示。

在这里插入图片描述

2、选【模板二】Windows窗体应用(.NET Framework)时

2.1、此模板框架选择有如下6个选项,选择【.NET Framework4.6】,然后点【创建】。

在这里插入图片描述

2.2、进入设计界面可以看到工具箱已显示【Windows Media Player】控件。

在这里插入图片描述

2.3、经修改框架测试,该模版下的所有框架均可以显示该控件,只是没有显示名称前面的小图标,但不影响使用。

在这里插入图片描述

三、两者区别

1、【模板一】Windows窗体应用是基于.net core;【模板二】Windows窗体应用(.NET Framework)是基于.NET Framework;
2、【模板一】Windows窗体应用框架是.NET core3.x—.NET5.0—.NET7.0;【模板二】Windows窗体应用(.NET Framework)框架是传统的.NET Framework1.x-.NET Framework4.8;
3、【模板一】Windows窗体应用的.net core系列效率更高,但相比【模板二】对WinForm有所阉割,砍掉了很多东西。
4、【模板二】Windows窗体应用(.NET Framework)框架最高到.NET Framework4.8,据微软自己说已经是最后的绝唱了;【模板一】的.NET(或叫.NET core)才是未来。

后记

关于添加WindowsMediaPlayer控件单工具箱不显示的原因,以及【模板一】Windows窗体应用与【模板二】Windows窗体应用(.NET Framework)的区别就分析到这里,开发或学习中大家可留意该问题选择适合自己的模板。希望对大家有所帮助,有不准确的地方也欢迎大家私信或留言指正。

猜你喜欢

转载自blog.csdn.net/u013097500/article/details/130965975