1

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

这就是我所期待的:

替代文字

这就是我得到的:

替代文字

4

1 回答 1

4

第 3 方应用程序未启用视觉样式,因此回退到经典的 Windows UI 主题。请注意,按钮和组合框看起来也不一样。您必须在 3rd 方应用程序中启用视觉样式才能将当前的 Windows 主题应用到它。

(作为练习,尝试切换您的 Windows 首选项以使用经典主题,然后查看正在运行的测试应用程序——它应该看起来与第 3 方应用程序相同。)

于 2011-01-19T17:42:03.070 回答