我应该在终端服务上调用 Application.EnableVisualStyles() 吗?
在终端服务/citrix 环境中,我应该调用 当我的程序时,我的 .NET 3.5 WinForms 应用程序中的 Application.EnableVisualStyles()
开始?或者,最好不要这样做?
我正在寻找提供最佳性能的选项,并且不需要使用任何控件绘制 主题。
In a terminal services/citrix environment, should I callApplication.EnableVisualStyles()
in my .NET 3.5 WinForms app when my program
starts? Or, is it better to refrain from doing that?
I am looking for the option that gives the best performance, and do not need any controls drawn with
themes.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,如果您需要让您的应用程序看起来与当前操作系统主题一致,您需要调用它。如果经典的 Windows 外观足以满足您的需求,则可以跳过此步骤。我个人从不为我的仅服务器应用程序(如控制面板等)启用视觉样式。
以下是未启用视觉样式的配置器工具。这样对我来说很好看,因此跳过了
EnableVisualStyles
:快速查看进入
Application.EnableVisualStyles()
方法,反射器在方法EnableVisualStyles -> 中显示下面的代码启用VisualStylesInternal -> CreateActivationContext
:如果
OSFeature.Feature.IsPresent(OSFeature.Themes)
返回false,则EnableVisualStyles
绝对没有效果,因此调用与否没有什么区别。So, if you need to have your application look in line with the current OS theme, you need to call this. If the classic Windows look is enough for you, you can skip this. I personally never enable visual styles for my server-only apps (like control panels, etc.).
Below is a configurator tool without the visual styles enabled. It's good looking for me this way so
EnableVisualStyles
was skipped:A quick look into
Application.EnableVisualStyles()
method with reflector revealed below code in the methodEnableVisualStyles -> EnableVisualStylesInternal -> CreateActivationContext
:If
OSFeature.Feature.IsPresent(OSFeature.Themes)
returns false,EnableVisualStyles
has absolutely no effect so calling it or not makes no difference.