检查是否可以在单声道上显示winforms

时间:2015-10-21 02:57:53

标签: c# winforms mono

我正在创建一个控制台应用程序,它在Windows窗体弹出窗口中显示一些数据,主要用于开发或配置它。但是,在部署时,它将在仅命令行环境中运行,该环境将无法显示表单。我想知道是否有办法检测是否可以显示这些表格,以便我可以以不同的格式显示数据或打印解释如果数据无法显示(其中一个表格是图像预览)。

1 个答案:

答案 0 :(得分:0)

是的先生,我想给你两个方法,对于案例" Mono":

如果您在Mono Runtime:

,请检查此项
private Boolean IsMonoRuntime()
{
      return (Type.GetType("Mono.Runtime") != null);
}

这为您提供了Mono-Version(Linux Package)或String.Empty:

    private String GetMonoRuntime()
{
    Type type = Type.GetType("Mono.Runtime");

    if (type != null)
    {
        MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
        if (displayName == null)
            return "Unix/Linux + Mono";
        else
            return "Unix/Linux + Mono " + displayName.Invoke(null, null);
    }

    return String.Empty;
}

我希望你需要它。