Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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
C# Windows窗体应用程序-视觉样式?_C#_Visual Studio 2010 - Fatal编程技术网

C# Windows窗体应用程序-视觉样式?

C# Windows窗体应用程序-视觉样式?,c#,visual-studio-2010,C#,Visual Studio 2010,我会尽量让这件事尽可能简单 在Windows窗体应用程序中创建的按钮如下所示: 如果我手动创建表单,我创建的按钮将如下所示: 我仔细查看了Windows窗体应用程序,没有发现任何更改按钮视觉样式的代码 对于为什么会发生这种情况,有什么简单的解释吗 提前感谢。您需要调用该方法,在调用应用程序之前,程序类的Main方法中默认调用该方法。运行(创建Windows窗体项目时,使用自动生成的代码) 此方法为应用程序启用视觉样式。视觉风格 颜色、字体和其他视觉元素是否构成 操作系统主题。如果 控件和操作

我会尽量让这件事尽可能简单

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

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

我仔细查看了Windows窗体应用程序,没有发现任何更改按钮视觉样式的代码

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

提前感谢。

您需要调用该方法,在调用
应用程序之前,
程序
类的
Main
方法中默认调用该方法。运行(创建Windows窗体项目时,使用自动生成的代码)

此方法为应用程序启用视觉样式。视觉风格 颜色、字体和其他视觉元素是否构成 操作系统主题。如果 控件和操作系统支持它。要产生效果,, 在中创建任何控件之前,必须调用
EnableVisualStyles()
申请书;通常,
EnableVisualStyles()
是中的第一行 主要功能。不需要单独的清单即可启用 调用
EnableVisualStyles()
时的视觉样式


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

为了说明这一点,在文件摘录中增加了粗体强调

Windows XP为Windows用户带来了全新的外观和感觉 接口,具有圆角和可更改的控件 当您将鼠标悬停在它们上时,会显示颜色。默认情况下,基于Windows的 使用Visual Basic创建的应用程序自动支持Visual Basic 样式,也称为Windows XP主题在平台上运行时 不支持Windows XP主题,应用程序将恢复为 传统窗口的外观和感觉。如果您不想使用 应用程序要支持视觉样式,可以在 项目设计器的应用程序页

从这里开始:

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

要使视觉样式正常工作,必须满足以下条件:

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

确保将按钮
UseVisualStyleBackColor
设置为
true
,并调用
Application.EnableVisualStyles()在启动代码中

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

}
编辑: 使用背景色的效果:


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

<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->


如何手动创建表单?可能会有帮助:也可以看看这篇文章,在各种评论中有很多有用的信息@DavidePiras我的意思是,我在一个不是“Windows窗体应用程序”的项目中创建了一个窗体。不知怎的,我忽略了这个。。。谢谢
EnableVisualStyles
确实是我想要的,但是按钮的
UseVisualStyleBackColor
属性似乎对我没有任何影响。在我的Win7上
UseVisualStyleBackColor=true
让我的按钮看起来有点像水平圆柱体。否则,他们有赢XP的外观,但看起来或多或少平淡(差别很小)。