【问题标题】:Check if winforms can be displayed on mono检查winforms是否可以在单声道上显示
【发布时间】:2015-10-21 02:57:53
【问题描述】:

我正在制作一个控制台应用程序,它以窗口形式弹出窗口显示一些数据,主要用于开发或配置它。但是,当部署它时,它只能在命令行环境中运行,无法显示表单。我想知道是否有办法检测是否可以显示这些表格,以便我可以以不同的格式显示数据或在无法显示数据时打印说明(其中一种表格是图像预览)。

【问题讨论】:

    标签: c# winforms mono


    【解决方案1】:

    是的先生,我想给你两种方法,用于“单声道”的情况:

    如果您在 Mono Runtime 中,此检查:

    private Boolean IsMonoRuntime()
    {
          return (Type.GetType("Mono.Runtime") != null);
    }
    

    这为您提供了 Mono-Version(Linux 软件包)或 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;
    }
    

    我希望它是你所需要的。

    【讨论】:

    • 不完全是我想要的。我在 ubuntu 上开发这个应用程序,所以它总是使用可以显示 winforms 的单声道运行时。我需要检查的是操作系统是否有 GUI 或只是命令行,以查看我是否可以显示表单。
    猜你喜欢
    • 2018-07-28
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多