我应该在终端服务上调用Application.EnableVisualStyles()吗?

| 在终端服务/ citrix环境中,我应该打电话给 当我的程序运行时,.NET 3.5 WinForms应用中的“ 0” 开始吗?或者,最好不要这样做? 我正在寻找提供最佳性能的选项,不需要绘制任何控件 主题。     
已邀请:
  视觉样式是构成操作系统主题的颜色,字体和其他视觉元素。如果控件和操作系统支持,则控件将以视觉样式进行绘制。为了产生效果,必须在应用程序中创建任何控件之前调用EnableVisualStyles()。通常,EnableVisualStyles()是Main函数的第一行。 因此,如果您需要使您的应用程序与当前的OS主题保持一致,则需要调用它。如果经典的Windows外观足以满足您的需求,则可以跳过此步骤。我个人从未为仅用于服务器的应用程序(如控制面板等)启用视觉样式。 以下是未启用视觉样式的配置器工具。这样很好找我,所以跳过了so1 so: 快速查看带有反射器的
Application.EnableVisualStyles()
方法,下面的方法
EnableVisualStyles -> EnableVisualStylesInternal -> CreateActivationContext
代码如下:
if (!contextCreationSucceeded && OSFeature.Feature.IsPresent(OSFeature.Themes))
    {
      enableThemingActivationContext = new ACTCTX();
      enableThemingActivationContext.cbSize = Marshal.SizeOf(typeof(ACTCTX));
      enableThemingActivationContext.lpSource = dllPath;
      enableThemingActivationContext.lpResourceName = (IntPtr) nativeResourceManifestID;
      enableThemingActivationContext.dwFlags = 8;
      hActCtx = CreateActCtx(ref enableThemingActivationContext);
      contextCreationSucceeded = hActCtx != new IntPtr(-1);
    }
如果
OSFeature.Feature.IsPresent(OSFeature.Themes)
返回false,则
EnableVisualStyles
绝对无效,因此调用它与否无关紧要。     

要回复问题请先登录注册