我会尽量保持这一点。
在Windows窗体应用程序中创建的按钮如下所示:
如果我手动创建表单,我创建的按钮将如下所示:
我彻底浏览了Windows窗体应用程序,发现没有任何代码可以改变按钮的视觉风格。
有没有简单的解释为什么会发生这种情况?
提前致谢。
答案 0 :(得分:11)
您需要调用EnableVisualStyles
方法,该方法在调用Main
之前默认在Program
类的Application.Run
方法中调用(当您创建Windows窗体项目,带有自动生成的代码。)
此方法为应用程序启用视觉样式。视觉风格 是形成的颜色,字体和其他视觉元素 操作系统主题。如果是,控件将使用视觉样式绘制 控制和操作系统支持它。要产生效果, 在创建任何控件之前必须调用
EnableVisualStyles()
应用程序;通常,EnableVisualStyles()
是第一行 主要功能。启用时不需要单独的清单 调用EnableVisualStyles()
时的视觉样式。
答案 1 :(得分:2)
确保将UseVisualStyleBackColor
按钮设置为true
,并在启动代码中调用Application.EnableVisualStyles();
。
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmAddress());
}
}
修改强> UseVisualStyleBackColor的效果:
答案 2 :(得分:1)
即使启用了视觉样式(默认设置),按钮的部分显示也由操作系统控制,不受程序控制。使用标准界面在Windows 7上运行的程序与在经典模式下运行时的程序不同。
大胆的重点加在文件的摘录上以说明这一点。
http://msdn.microsoft.com/en-us/library/y6kzhf8d(VS.80).aspx
Windows XP为Windows用户带来了全新的外观 界面,具有圆角和更改的控件 将鼠标悬停在它们上方时的颜色。默认情况下,基于Windows 使用Visual Basic创建的应用程序自动支持可视化 样式,也称为Windows XP主题。 在平台上运行时 不支持Windows XP主题,应用程序恢复为 传统的Windows外观。如果你不想要你的 应用程序支持视觉样式,您可以更改属性 Project Designer的Application页面。
同样来自:http://msdn.microsoft.com/en-us/library/ms171733(VS.80).aspx
在检查视觉样式支持部分。
以下条件必须为true才能使视觉样式起作用:
答案 3 :(得分:0)
我有类似的问题。直到VS 2010之前,创建自定义清单文件才能完成这项工作。但是,从Visual Studio 2010开始,这不起作用,因为VS在My Project文件夹中创建了一个名为app.manifest的新文件。 因此,要启用视觉样式,您只需要在Visual Studio中编辑此项目,并取消注释下面的行
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->