Windows窗体应用程序 – 视觉样式?

我会尽量保持这个简单。

在Windows窗体应用程序中创建的按钮如下所示:

在此处输入图像描述

如果我手动创建表单,我创建的按钮将如下所示:

在此处输入图像描述

我彻底浏览了Windows窗体应用程序,发现没有任何代码可以改变按钮的视觉风格。

为什么会发生这种情况有什么简单的解释吗?

提前致谢。

您需要调用EnableVisualStyles方法,该方法在调用Application.Run之前默认在Program类的Main方法中调用(当您使用自动生成的代码创建Windows窗体项目时)。

此方法为应用程序启用视觉样式。 视觉样式是形成操作系统主题的颜色,字体和其他可视元素。 如果控件和操作系统支持,控件将使用视觉样式绘制。 要产生效果,必须在创建应用程序中的任何控件之前调用EnableVisualStyles() ; 通常, EnableVisualStyles()是Main函数中的第一行。 调用EnableVisualStyles()时,不需要单独的清单来启用视觉样式。

确保将UseVisualStyleBackColor按钮UseVisualStyleBackColortrue并调用Application.EnableVisualStyles(); 在你的启动代码中。

 static class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmAddress()); } } 

编辑: UseVisualStyleBackColor的效果:

在此处输入图像描述

即使启用了视觉样式(默认设置),按钮的部分显示也由操作系统控制,不受程序控制。 使用标准界面在Windows 7上运行的相同程序与在经典模式下运行时的程序不同。

大胆的重点增加了文献中的摘录来说明这一点。

http://msdn.microsoft.com/en-us/library/y6kzhf8d(VS.80).aspx

Windows XP为Windows用户界面引入了新的外观,其控件具有圆角,当您将鼠标hover在其上时会改变颜色。 默认情况下,使用Visual Basic创建的基于Windows的应用程序自动支持视觉样式,也称为Windows XP主题。 在不支持Windows XP主题的平台上运行时,应用程序将恢复为传统的Windows外观。 如果您不希望应用程序支持可视样式,则可以在“项目设计器”的“应用程序”页面上更改该属性。

也来自这里: http : //msdn.microsoft.com/en-us/library/ms171733(VS.80).aspx

在“ 检查视觉样式支持”部分中。

必须满足以下条件才能使视觉样式起作用:

  • 操作系统支持视觉样式。
  • 用户已在操作系统中启用了视觉样式。
  • 应用程序中启用了视觉样式。
  • 视觉样式用于绘制应用程序窗口的客户区域。

我有类似的问题。 直到VS 2010之前,创建自定义清单文件才能完成这项工作。 但是,从Visual Studio 2010开始,这不起作用,因为VS在My Project文件夹中创建了一个名为app.manifest的新文件。 因此,要启用视觉样式,您所要做的就是在Visual Studio中编辑此项目,并取消注释下面的行