【问题标题】:mono C# REPL System.Windows.Forms单声道 C# REPL System.Windows.Forms
【发布时间】:2015-07-09 18:05:07
【问题描述】:

当我尝试从单声道 C# REPL 创建表单时 我无法访问 System.Windows.Forms 类

我可以毫无问题地使用来自 REPL 的其他 .net 库。

有什么想法吗?

【问题讨论】:

    标签: c# winforms mono read-eval-print-loop


    【解决方案1】:

    您可以根据需要在 REPL 中使用 LoadAssembly 和 LoadPackage:

    • Lo​​adAssembly(字符串):加载给定的程序集,相当于 将 -r:NAME 传递给编译器。
    • Lo​​adPackage(string):加载 给定包,相当于将 -pkg:NAME 传递给编译器。

    示例:

    csharp> LoadAssembly("System.Windows.Forms")
    csharp> using System.Windows.Forms
    csharp> LoadAssembly("System.Drawing")
    csharp> using System.Drawing
    csharp> class MyApp : System.Windows.Forms.Form
        {
            public MyApp()
            {
                Label label;
    
                ClientSize = new System.Drawing.Size(250, 250);
    
                label = new Label();
                label.Text = "A Mono CSharp REPL Window";
                label.Dock = DockStyle.Fill;
                label.TextAlign = ContentAlignment.MiddleCenter;
                this.Controls.Add(label);
                Text = "Hello, StackOverFlow";
            }
    
            public static void Main()
            {
                Application.Run(new MyApp());
            }
        }
    MyApp.Main()
    

    仅供参考:如果您尝试生成动态 GUI,我会查看 gsharp(来自 mono-tools),因为它有一个 GTK 窗格,您可以在该窗格中添加/删除小部件。

    【讨论】:

    • 你提到 gsharp...我在哪里可以下载 Windows 版本(首选二进制文件)...
    • 我不知道单一工具的 bin 安装程序。您可以获取官方来源:github.com/mono/mono-tools/tree/master/gsharp 注意:在 windows 上您需要为 .Net 安装 GTK#:mono-project.com/download/#download-win
    • 仅供参考,如果您有问题,我可以将 exe 发布到某个地方。
    • thanx...我已经尝试在 Cygwin 中编译 GTK#,但遇到了问题(在 Linux 中一切正常)...stackoverflow.com/questions/31196554/…
    • 好的,那么您是否只是使用 GTK# 4 .net 安装程序而不是编译它?现在运行 gsharp?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多