Windows窗体应用程序 – 视觉样式?
我会尽量保持这个简单。
在Windows窗体应用程序中创建的按钮如下所示:
如果我手动创建表单,我创建的按钮将如下所示:
我彻底浏览了Windows窗体应用程序,发现没有任何代码可以改变按钮的视觉风格。
为什么会发生这种情况有什么简单的解释吗?
提前致谢。
您需要调用EnableVisualStyles
方法,该方法在调用Application.Run
之前默认在Program
类的Main
方法中调用(当您使用自动生成的代码创建Windows窗体项目时)。
此方法为应用程序启用视觉样式。 视觉样式是形成操作系统主题的颜色,字体和其他可视元素。 如果控件和操作系统支持,控件将使用视觉样式绘制。 要产生效果,必须在创建应用程序中的任何控件之前调用
EnableVisualStyles()
; 通常,EnableVisualStyles()
是Main函数中的第一行。 调用EnableVisualStyles()
时,不需要单独的清单来启用视觉样式。
确保将UseVisualStyleBackColor
按钮UseVisualStyleBackColor
为true
并调用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中编辑此项目,并取消注释下面的行