Interop Controls没有获取XP样式

时间:2008-10-14 22:27:23

标签: .net winforms vb6 interop

我在VS2005中创建了一个Interop用户控件。当用户控件显示在VB6内部时,它不会拾取/使用XP样式(按钮和选项卡看起来像VB6按钮/标签)。

如何使用我的控件在XP6中使用XP样式?

2 个答案:

答案 0 :(得分:1)

您需要为应用程序添加清单文件,将名为{exefilename} .exe.manifest的文件添加到与应用程序相同的文件夹中。

答案 1 :(得分:1)

清单文件仅适用于早期版本的.net和.net 1.1之后,您可以通过编程方式激活它们。我不得不在互操作用户控件的默认构造函数中添加行Application.EnableVisualStyles()

Public Sub New()
    Application.EnableVisualStyles() '-- I added this line
    ' This call is required by the Windows Form Designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.
    'Raise Load event
    Me.OnCreateControl()
End Sub

以下Microsoft's post on Application.EnableVisualStyles解释了所有内容。

<小时/> @marioh - 感谢您的回复。