新しいMonoDevelopWindowsベータ版をインストールしましたが、C#Windowsアプリケーションを作成しようとしたとき、唯一のオプションはGTK#でした。MonoはWinFormsをサポートしているのに、なぜこれがMonoDevelopのオプションではないのですか。アプリケーションにGTK#の依存関係を持たせたくありません。
3 に答える
Winformsはバージョン2.0以降Monoでサポートされていますが、WinFormsデザイナはMonoDevelopでまだ使用できません。これが、MonoDevelopにWinFormsプロジェクトがない理由である可能性があります。
http://www.mono-project.com/WinForms_Designer
AFAIK、winformsに対するmonoのサポートは、既存のwinformsアプリケーションをLinuxに移植する方法と考える必要があります。クロスプラットフォームアプリをゼロから作成したい場合は、GTK#を使用する必要があります
WinFormsプロジェクトテンプレートはありませんが、MDが実行されている任意のプラットフォームのMDでWinFormsアプリを作成できます。
新しい空のC#プロジェクトを作成し、System.Windows.Formsへの参照を追加してから、コードを記述してビルドして実行するだけです。MDにはWinformsデザイナーはありませんが、Winformsタイプのコードを完成させることができます。
死者を育てて申し訳ありませんが、私は最近これをやろうとしました。MonoDevelopはGUIデザイナーを提供していませんが、mhutchが指摘したように、実際に手動でWinformsを作成することができます。こんなふうになります:
- 新しい空のC#プロジェクトを作成します。
- System.Windows.Formsへの参照を追加します
- 新しい空のC#ファイルを作成します。
ファイルの内容:
using System;
using System.Windows.Forms;
namespace HelloForms
{
public class MainForm: Form
{
Label label1 = new Label();
public MainForm ()
{
this.SuspendLayout();
// Initialize your components here
this.label1.Text = "Hello, World!";
this.Controls.Add(label1);
this.ResumeLayout();
this.Name = "MainForm Name.";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "MainForm Title!";
}
}
public class Program
{
public static void Main(string[] args) {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm ());
}
}
}
MainFormのコンストラクターにコンポーネントを追加して、フォームを展開します。