【发布时间】:2009-12-11 16:01:37
【问题描述】:
我经常在 .NET 中编写 GUI 代码,其中大多数仅具有作为 GUI 的价值,例如他们不会做任何不可能的事情。所以大部分的开发都是为了让它们变得友好、直观和吸引眼球。
然后我想到,通过.msstyles 文件给它们蒙皮简直太棒了,因为有so many places to find 这些文件,还有tools 到做你自己的。 其中一些 msstyle 非常棒,可能不适合您的整个桌面,但对于为自制应用程序设置样式,它会是完美的。
那么,是否可以使用 .msstyles(或者类似的东西,因为 .aero.msstyles、.theme 等应该可以转换到某个点)在 .NET(VB 或 C#)中为应用程序设置样式?即使它需要一些复杂的设置或需要学习的东西,一旦实用,所有 GUI 开发都会容易得多。 也许某种虚拟化?我不知道虚拟化在幕后是如何工作的,但我相信 .NET 应用程序会调用一些 Windows API 来赋予他这种风格,也许虚拟化会起作用?怎么样?
非常欢迎任何想法!如果我找到答案,我也会贡献它:)
【问题讨论】:
-
花在 DevExpress 的 WinForms(它们是可换肤的)组件之类的东西上可能是物有所值。
-
但我的重点是远离使用第三方组件,而只是使用操作系统使用的组件,而不影响整个操作系统。就像正在使用 msstyles 一样,但仅适用于该应用程序。无论如何,我尝试了 DevExpress,我的想法是它是一个非常好的广告应用程序。
-
@Camilo:请记住,用户可能已经设置了他们的 Windows 主题,因为他们喜欢它,在这种情况下,您要问的是如何获取用户请求的内容,撤消它,以及让他们以其他方式“接受”。
-
我知道用户可能已经设置了自己的样式。但是,根据我的个人经验,大多数用户都有可怕的 Luna 主题,甚至更糟糕的是 Olive Luna 主题。另外,我也想为自己编写的应用程序设置主题。而且我不会因为给他/她不同的视觉体验而冒犯用户:)
标签: c# .net vb.net skinning msstyles