1

我创建了一个包含 50 个表单的 C# 应用程序。

不幸的是,Mono(Mac OS 版本)不适用于标准窗口 winform。

我不知道为什么,但我现在需要解决这个问题。

唯一的解决方案似乎将 winform 转换为 GTK#,但我对 GTK# 没有任何经验。

我的问题是:

  • 将我的 50 个表格转换为 GTK# 有多难?
  • 我需要做什么?

这是一个简单的解决方案?或者我需要重新编写我的应用程序?

除此之外,我不知道在哪里可以找到/使用 Visual IDE 来进行像 Visual Studio IDE 这样的设计修改。

4

2 回答 2

1

GTK 是一个很好的框架,在 windows 和 linux 上,GTK# 都非常容易手工编写或使用monodevelop进行设计。因此,如果您好奇,值得一试,GTK# 应用程序通常更容易找到帮助(GTK+ 文档很有帮助)

GTK# 最好的地方是自动布局,不再像 winforms 那样疯狂的面板放置或绝对定位。

我很好奇为什么你的 winforms 应用程序不工作,Mono 的 winforms 支持非常好,非常接近完全匹配.Net。你有什么错误?

于 2012-05-09T21:43:16.823 回答
0

我在 Mono 使用 Winforms 时遇到的问题是,在文件“xyz.designer.cs”中通常有一个代码:

((System.ComponentModel.ISupportInitialize)(xyz)).BeginInit();

((System.ComponentModel.ISupportInitialize)(xyz)).EndInit();

看起来 Mono 不接受此代码。我的印象是,这段代码可以从大多数 Windows 窗体中删除。但我不太确定。确保“xyz.designer.cs”文件不能在 Visual Studio 下修改,因为此代码是由 GUI 设计器自动创建的。但是您可以在 Monodevelop 下修改这些文件。看起来您需要手动更新 50 个文件。

于 2012-05-12T18:36:19.387 回答