2011-01-19 56 views
1

我目前正在为第三方应用程序开发插件DLL。我的dll的一部分包含一个弹出式窗口,其中包含一个System.Windows.Forms.MonthCalendar。现在当我在Visual Studio中使用它时,当我用测试应用程序打开弹出窗口时,它看起来是一种方式,但当第三方应用程序打开它时,它看起来不同。除了看起来不同外,他们也有不同的行为。有谁知道为什么?有一件事我认为可能是一个问题,那就是我的dll是用.Net 3.5构建的,而第三方的应用程序是.Net 2.0(我认为)。但是当我将测试应用程序构建为.Net 2.0时,它仍然以相同的方式工作。为什么MonthCalendar在第三方应用中看起来不同?

这里就是我期待:

alt text

这里就是我得到:

alt text

回答

4

的第三方应用程序未启用视觉样式,并且是因此回落到经典的Windows UI主题上。请注意,按钮和组合框的外观也不一样。您必须在第三方应用程序中启用视觉样式才能将当前的Windows主题应用到它。

(作为练习,尝试切换计算机的Windows使用经典主题,然后看看工作测试应用程序 - 它应该等同于第三方之一)

+0

那么,有没有办法强迫我的弹出窗口在从第三方应用程序调用时使用经典的Windows UI主题? – juharr 2011-01-19 17:44:37

相关问题