2009-02-19 65 views
1

當我的項目是類庫並且它正在加載到沒有設置Application.EnableVisualStyles()的程序中時,如何啓用視覺樣式。我一直在爲此掙扎2天。這是用C#(我已經看到了一些舊C++的例子和一些可能適用於VB的東西,但是C#沒有明確的規定,如果甚至可以的話)。爲類庫啓用視覺樣式

我曾嘗試在創建任何控件之前從我的類庫中運行Application.EnableVisualStyles(),但似乎需要在Application.Run()完成之前完成,並且我無法控制何時Application.Run()被稱爲插件(VMware的虛擬基礎架構客戶端),因爲它將進入第三方應用程序。


我試圖創建一個清單文件和編譯類庫後,我在清單文件鏈接到我的ProgressBar.dll有: mt.exe -manifest ProgressBar.dll.manifest -outputresource:ProgressBar.dll ; 2

除此不起作用。如果我製作一個使用我的ProgressBar類庫的虛擬應用程序,並將清單鏈接到該應用程序的exe文件,那麼視覺樣式就會出現(基本上,它在Project Properties,Application部分中指定Manifest文件的方式很長)。

現在我的按鈕看起來很醜,但最讓人惱火的是ProgressBar控件在Marquee風格中不起作用。我很快就不得不訴諸製作自己的Marquee風格的ProgressBar,或者只是在其中放入一個動畫GIF。關於按鈕,我想我可以開始使用Infragistics按鈕來獲得更一致的結果。

請和一如既往的感謝!

回答

0

當您撥打Application.EnableVisualStyles時,如何確保沒有創建控件?創建並不一定意味着控件也可以在窗體上顯示。

由於您正在使用封閉的第三方組件,因此如果外觀和感覺非常重要,我會投入我的時間,而不是創建自己的控件。

相關問題