17

新しいMonoDevelopWindowsベータ版をインストールしましたが、C#Windowsアプリケーションを作成しようとしたとき、唯一のオプションはGTK#でした。MonoはWinFormsをサポートしているのに、なぜこれがMonoDevelopのオプションではないのですか。アプリケーションにGTK#の依存関係を持たせたくありません。

4

3 に答える 3

15

Winformsはバージョン2.0以降Monoでサポートされていますが、WinFormsデザイナはMonoDevelopでまだ使用できません。これが、MonoDevelopにWinFormsプロジェクトがない理由である可能性があります。

http://www.mono-project.com/WinForms_Designer

AFAIK、winformsに対するmonoのサポートは、既存のwinformsアプリケーションをLinuxに移植する方法と考える必要があります。クロスプラットフォームアプリをゼロから作成したい場合は、GTK#を使用する必要があります

于 2009-09-09T22:19:48.093 に答える
11

WinFormsプロジェクトテンプレートはありませんが、MDが実行されている任意のプラットフォームのMDでWinFormsアプリを作成できます。

新しい空のC#プロジェクトを作成し、System.Windows.Formsへの参照を追加してから、コードを記述してビルドして実行するだけです。MDにはWinformsデザイナーはありませんが、Winformsタイプのコードを完成させることができます。

于 2009-09-09T22:27:08.507 に答える
7

死者を育てて申し訳ありませんが、私は最近これをやろうとしました。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のコンストラクターにコンポーネントを追加して、フォームを展開します。

于 2013-07-08T23:44:24.977 に答える