即使表单作为启动对象

时间:2015-09-10 14:11:18

标签: .net vb.net winforms visual-studio

我有一个 Windows窗体项目,禁用了应用程序框架。我想启用它以允许视觉样式。

Application.EnableVisualStyles()不包括跟踪栏等内容。我已经用单独的项目对此进行了测试 - 启用应用程序框架似乎就是我想要的。

但是,在我的项目中,我无法启用应用程序框架 - 该选项显示为灰色。我的启动对象绝对是一个表单,但我仍然无法启用它。

你能帮我弄清楚我要为这个项目启用应用程序框架吗?

2 个答案:

答案 0 :(得分:0)

如果您不是从MainForm开始,通常会在模块中使用Sub Main

Module Program

    Public Sub Main
        ' normal winforms startup
        Application.EnableVisualStyles()
        Application.Run(New MainForm)
    End Sub

End Module

您必须在引用任何UI元素之前启用视觉样式,这就是为什么它不会在Form_Load事件中起作用 - 为时已晚。

答案 1 :(得分:0)

6年后,我遇到了同样的问题。我必须打开app.manifest文件,并取消注释底部的依赖项节点,该节点之前带有以下注释:

为Windows常用控件和对话框(Windows XP及更高版本)启用主题

如果您需要创建它,则整个部分为:

  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>