Pergunta

Acabei de instalar o novo beta MonoDevelop Windows, mas ao tentar criar um aplicativo C # windows a única opção era GTK #. Desde Mono suporta WinForms, porque é que esta não é uma opção em MonoDevelop. Gostaria de não ter o GTK # dependência em minhas aplicações.

Foi útil?

Solução

Althought WinForms é suportado em mono desde a versão 2.0, o designer WinForms não é utilizável ainda em MonoDevelop, o que poderia ser a razão para a falta de um WinForms projetar em MonoDevelop

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

AFAIK, você deve pensar em suporte de mono para winforms, como forma de porta winforms existentes aplicação para linux. Se você quiser fazer uma aplicação multi-plataforma a partir do zero, você deve usar GTK #

Outras dicas

Embora não haja WinForms projeto de modelo, você pode WinForms escrever aplicativos em MD em qualquer uma das plataformas MD é executado.

Apenas crie um novo projeto vazio C # e adicionar uma referência para System.Windows.Forms, em seguida, escrever o código, e construir e executar. Embora não haja nenhum designer WinForms em MD, você terá a conclusão de código para os tipos WinForms.

Infelizmente para ressuscitar os mortos, mas eu tentei fazer isso recentemente. Enquanto MonoDevelop não fornece a designer de GUI, você pode realmente escrever WinForms à mão, como mhutch apontou. Ele vai como esta:

  • Criar um novo, vazio projeto C #.
  • Adicione uma referência para System.Windows.Forms
  • Criar um novo arquivo vazio C #:

O conteúdo do arquivo:

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 ());
        }
    }
}

Expanda seu formulário adicionando componentes para o construtor do MainForm.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top