Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么MonthCalendar在第三方应用程序中看起来不同?_C#_Monthcalendar - Fatal编程技术网

C# 为什么MonthCalendar在第三方应用程序中看起来不同?

C# 为什么MonthCalendar在第三方应用程序中看起来不同?,c#,monthcalendar,C#,Monthcalendar,我目前正在为第三方应用程序开发一个插件dll。我的dll的一部分包括一个弹出窗口,其中包含System.Windows.Forms.MonthCalendar。现在,当我在VisualStudio中处理它时,当我用我编写的测试应用程序打开弹出窗口时,它看起来是单向的,但当第三方应用程序打开它时,它看起来就不同了。除了看起来不同之外,他们也有不同的行为。有人知道为什么吗?有一件事我认为可能是一个问题,那就是我的dll是用.NET3.5构建的,我认为第三方应用程序是.NET2.0。但当我将我的测试应

我目前正在为第三方应用程序开发一个插件dll。我的dll的一部分包括一个弹出窗口,其中包含System.Windows.Forms.MonthCalendar。现在,当我在VisualStudio中处理它时,当我用我编写的测试应用程序打开弹出窗口时,它看起来是单向的,但当第三方应用程序打开它时,它看起来就不同了。除了看起来不同之外,他们也有不同的行为。有人知道为什么吗?有一件事我认为可能是一个问题,那就是我的dll是用.NET3.5构建的,我认为第三方应用程序是.NET2.0。但当我将我的测试应用程序构建为.NET2.0时,它仍然以同样的方式工作

以下是我所期待的:

下面是我得到的:


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


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

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


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

那么,有没有办法在从第三方应用程序调用时强制我的弹出窗口使用经典Windows UI主题?可能,但我不会强制这样做。控件的设计应确保在给定任何特定UI主题的情况下都能正常工作。您似乎已将其设计为仅适用于Vista/7主题。考虑使用自动大小调整表布局,而不是X、Y布局,并使用尽可能多的主题来进行测试。这样,从测试应用程序中删除Apple。Enable VisualStudio会产生与第三方应用程序相同的结果。现在看看我是否可以为第三方应用打开它。你可以试试。但重申我的观点:如果控件依赖于要启用的特定UI主题,那么该控件将被破坏。老实说,我并不关心控件的外观,但我关心的是似乎随着主题而改变的功能。我不想显示超出最小/最大日期范围的日期。那么,有没有办法在从第三方应用程序调用时强制我的弹出窗口使用经典的Windows UI主题?可能,但我不会强制这样做。控件的设计应确保在给定任何特定UI主题的情况下都能正常工作。您似乎已将其设计为仅适用于Vista/7主题。考虑使用自动大小调整表布局,而不是X、Y布局,并使用尽可能多的主题来进行测试。这样,从测试应用程序中删除Apple。Enable VisualStudio会产生与第三方应用程序相同的结果。现在看看我是否可以为第三方应用打开它。你可以试试。但重申我的观点:如果控件依赖于要启用的特定UI主题,那么该控件将被破坏。老实说,我并不关心控件的外观,但我关心的是似乎随着主题而改变的功能。我不想显示最小/最大日期范围之外的日期。