因此,当我在Win10 PC上创建并执行我想要的winforms项目时,该项目中的所有表单都具有这种Metro Style UI设计。 但是,如果我在同一台PC上创建一个dll项目,并且引用我认为与winforms项目相同的System.Windows.Forms dll,我可以从dll创建的表单看起来有点像我在Win7并启用了XpVisualStyles选项。 即:作为一个基本的例子:默认情况下,表单上的所有按钮都设置为3d边框样式,并试图让它们变得扁平并不容易(如果它们看起来应该看起来很好)
问题是:为什么从dll创建的表单看起来不同于从winforms应用程序创建的表单,虽然它们都引用相同的dll(System.Windows.Forms我甚至检查了哈希和版本)? 第2部分如何将从dll创建的表单看作winforms项目中的表单?
附加信息:dll表单是通过引用控制台项目中的dll和另一个winforms项目创建的。两者看起来都像是Xp。
答案 0 :(得分:0)
感谢@Reza Aghaei的好评,这个问题已经解决了。
确保在打开表单的应用程序中调用Appliction.EnableVisualStyles();
,如果没有,则需要引用System.Windows.Forms
。
然后,显示的表格看起来就像它在设计师中向您展示的那样。
调用拥有该表单的dll中的Appliction.EnableVisualStyles();
。
这可以通过
另外在表单构造函数中可能有一个条件,它调用相同dll的某个函数来检查样式是否已启用,如果不是,则执行此操作。
我会根据我的知识推荐使用静态初始化函数。