当我的项目是类库并且它被加载到没有设置Application.EnableVisualStyles()的程序时,如何启用视觉样式。我现在已经为此困难了2天了。这是在C#中(我已经看到了一些旧C ++的例子以及一些可能适用于VB的东西,但是C#没有明确规定,如果可能的话)。
我尝试在创建任何控件之前从我的类库中运行Application.EnableVisualStyles(),但似乎需要在Application.Run()完成之前完成,而我在应用程序时无法控制.Run()被调用,因为它作为插件进入第三方应用程序(VMware的Virtual Infrastructure Client)。
我试图创建一个清单文件,在编译类库之后,我将清单文件中的链接链接到我的ProgressBar.dll:
mt.exe -manifest ProgressBar.dll.manifest -outputresource:ProgressBar.dll; 2
除非这不起作用。如果我创建一个使用我的ProgressBar类库的虚拟应用程序并将清单链接到该应用程序的exe,那么就会出现视觉样式(基本上它在项目属性,应用程序部分中指定了清单文件)。
现在我的按钮看起来很难看,但最令人恼火的是ProgressBar控件在Marquee风格中不起作用。我很快将不得不求助于制作我自己的Marquee风格的ProgressBar,或者只是在它的位置投入动画GIF。关于按钮,我想我可以开始使用Infragistics按钮以获得更一致的结果。
请一如既往地谢谢!
答案 0 :(得分:0)
当您致电Application.EnableVisualStyles
时,如何确定尚未创建任何控件?创建并不一定意味着控件在表单上也可见。
由于您正在使用已关闭的第三方组件,因此如果外观非常重要,我会花时间创建自己的控件。
答案 1 :(得分:0)
您必须在控件中使用OpenThemeData
Win32 api: