Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.NET为什么我的控件在VS19中看起来比较旧?_.net_Vb.net_Controls_Visual Studio 2019_Appearance - Fatal编程技术网

VB.NET为什么我的控件在VS19中看起来比较旧?

VB.NET为什么我的控件在VS19中看起来比较旧?,.net,vb.net,controls,visual-studio-2019,appearance,.net,Vb.net,Controls,Visual Studio 2019,Appearance,我最近将我的Visual Studio更新到2019年,我惊讶地发现,当我启动一个新项目并添加控件时,尽管我可以在设计器中看到它们,与在上一版本中看到的方式完全相同,但当我启动应用程序时,所有控件看起来都非常旧。 我认为控件的外观取决于您的Windows版本,但当我执行在Visual Studio早期版本中编译的项目时,它确实会以我想要的方式显示控件 现在,向您展示一个进度条示例。这是我以前在Visual Studio的早期版本中看到的内容,也是我在更新程序之前构建的项目中仍然看到的内容: 这

我最近将我的Visual Studio更新到2019年,我惊讶地发现,当我启动一个新项目并添加控件时,尽管我可以在设计器中看到它们,与在上一版本中看到的方式完全相同,但当我启动应用程序时,所有控件看起来都非常旧。 我认为控件的外观取决于您的Windows版本,但当我执行在Visual Studio早期版本中编译的项目时,它确实会以我想要的方式显示控件

现在,向您展示一个进度条示例。这是我以前在Visual Studio的早期版本中看到的内容,也是我在更新程序之前构建的项目中仍然看到的内容:

这是我在使用新版Visual Studio编译的项目中看到的:

我怎样才能恢复到以前的外观和风格?我检查了这两个项目的所有属性以查看是否有任何差异,我发现新版本中的.NET Framework 4.7.2不允许启用Windows XP视觉样式,而旧版本中的.NET Framework 4.5允许修改这些属性

提前感谢你的帮助。
顺便说一下,我正在运行64位Windows 10。

我在互联网上搜索了几个小时后找到了解决方案。我不想做任何变通,正如大多数文章中所指示的那样。这是一个新项目,是VS2019的新安装,应该可以在没有恶作剧的情况下工作

1) 手动编辑project.vbproj 2) 寻找空的 3) 用项目类型(如WindowsForms)替换为空 4) 拯救 5) 打开你的项目

现在,“启用应用程序框架”的勾选框没有变灰,可以单击,恢复了Windows XP风格的控件


我仍然留下的问题(即使现在问题已经解决了,也不那么重要)是:为什么会发生这种情况?是VisualStudio的bug吗?安装后未更改任何内容。

我从较旧的Visual Studio迁移项目时遇到问题。按钮和文本框在正在运行的应用程序中看起来过时了(但在设计器中并没有)

解决方案是添加
Application.EnableVisualStyles()在主菜单中。
在C#中,代码如下所示:

[STAThread]
static void Main() 
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new frmMain());
}
对于VB,我不是很熟悉,但我相信是这样的:

<System.STAThread()> Public Shared Sub Main()
  Application.EnableVisualStyles()
  Application.Run(New Form1)
End Sub
公共共享子主目录()
Application.EnableVisualStyles()
Application.Run(新表单1)
端接头

希望这对其他人有所帮助。

您确定没有使用.Net核心版本的模板吗?您能看到
启用应用程序框架
选项吗?您的应用程序是否从
子主
开始?在本例中,您是否添加了
应用程序.EnableVisualStyles()
?请阅读以下内容:您是否选择了.Net核心模板?顺便说一句,你在那里看到的与.NETCore模板相关的东西,并不是一个解决办法,它或多或少是其他语言的标准。此外,VisualStudio2019仍然非常新,其他一些细节仍在进行中。你没有指定你使用的是什么版本的VS,这很重要。是否安装了预览版本?模板为.Net Framework。它是Windows窗体和Visual Basic中显示的唯一选项。我使用的版本是16.4.0,然后您使用错误的模板创建了项目,或者您没有安装所有Visual Studio桌面支持软件包。检查Visual Studio安装程序。如果vbproj文件的
标记为空,则您使用“空项目”模板而不是“Windows窗体应用程序(.Net Framework)”模板创建了项目。VB界面从未允许您(通过“项目属性”页面)将项目类型从或更改为空,并且您需要编辑vbproj文件。空项目的默认输出类型是WinExe(winformapplication)。空项目是唯一不让编译器为VB的默认表单实例生成代码支持的方法,它不支持任何所谓的应用程序框架。