Ich habe gerade die neue MonoDevelop-Windows-Betaversion installiert, aber beim Versuch, eine C# -Windows-Anwendung zu erstellen, war die einzige Option GTK #. Da Mono WinForms unterstützt, ist dies in MonoDevelop nicht möglich. Ich möchte nicht die GTK # Abhängigkeit in meinen Anwendungen haben.WinForms-Anwendung in MonoDevelop
Antwort
Althought WinForms seit Version 2.0 in Mono unterstützt wird, ist die WinForms-Designer nicht verwendbar noch in MonoDevelop, was der Grund für das Fehlen eines WinForms-Projekt in MonoDevelop
http://www.mono-project.com/WinForms_Designer
AFAIK sein könnte, Sie sollte mono die Unterstützung für WinForms als eine Möglichkeit, vorhandene WinForms-Anwendung auf Linux portieren. Wenn Sie eine plattformübergreifende App von Grund auf erstellen möchten, sollten Sie GTK verwenden.
Obwohl es keine WinForms-Projektvorlage gibt, können Sie WinForms-Anwendungen in MD auf einer beliebigen Plattform schreiben, auf der MD ausgeführt wird.
Erstellen Sie einfach ein neues leeres C# -Projekt und fügen Sie einen Verweis auf System.Windows.Forms hinzu, schreiben Sie dann Ihren Code und erstellen Sie & run. Obwohl es keinen Winforms-Designer in MD gibt, haben Sie Code-Vervollständigung für die Winforms-Typen.
Wir verwenden den System.Windows.Forms-Namespace, da bereits unsere UIs erstellt wurden. Für zusätzliche Arbeit in der Benutzeroberfläche verwenden wir SharpDevelop und kodieren dann in MD. – IAbstract
Entschuldigung, dass ich die Toten auferweckt habe, aber ich habe das kürzlich versucht. Während MonoDevelop den GUI-Designer nicht zur Verfügung stellt, können Sie Winforms tatsächlich von Hand schreiben, wie mhutch darauf hingewiesen hat. Es geht so:
- Erstellen Sie ein neues, leeres C# -Projekt.
- erstellen Fügen Sie einen Verweis auf System.Windows.Forms
- eine neue, leere C# Datei:
Der Inhalt der Datei:
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());
}
}
}
Ihr Formular erweitern, indem Komponenten Mainform der Zugabe Konstrukteur.
Sie müssen auch einen Verweis auf System hinzufügen –
- 1. lesen Umgebungsvariable in MonoDevelop
- 2. MonoDevelop in Windows
- 3. "Importe organisieren" in MonoDevelop
- 4. MonoDevelop - unzulässiges Zeichen in Pfad
- 5. Lesen der Konsoleneingabe in MonoDevelop
- 6. Xamarin Monodevelop - Fehler CS0103
- 7. LINQ2SQL Alternativen für MonoDevelop
- 8. Monodevelop 4.0 keine Codeansicht
- 9. MonoDevelop unter Windows
- 10. Wo ist "Run Tests" in monodevelop
- 11. konnte nicht schlagen Stützpunkte in MonoDevelop
- 12. Wie verwende ich eine Ressourcendatei in MonoDevelop?
- 13. Verwenden von Umgebungsvariablen in Monodevelop mit MonoTouch
- 14. So fügen Sie Autovervollständigungsvorlagen in monodevelop ein
- 15. Was ist 'semantische Hervorhebung' Option in MonoDevelop
- 16. Wie bearbeite ich Referenzen in MonoDevelop?
- 17. Monodevelop startet nicht in Mint 17
- 18. MonoDevelop - Referenz mit absolutem Pfad
- 19. C# MonoDevelop - Build für Raspbian
- 20. PoseProvider.cs und Tango: MonoDevelop-Fehler
- 21. ASP.NET MVC, MonoDevelop und Windows
- 22. Android für MonoDevelop auf Ubuntu
- 23. Xamarin vs Mono vs Monodevelop
- 24. MonoDevelop-Befehlszeile eine Lösung kompilieren
- 25. Monodevelop AddIn - Benutzerdefinierte Kategorie Knoten
- 26. Monodevelop auf Xubuntu fehlt ASP.NET
- 27. MonoDevelop Add-Ons wie Eclipse
- 28. Wie tritt man in Framework-Quellcode in MonoDevelop ein?
- 29. Wie organisieren Sie ViewControllers in einem Monotouch-Projekt in MonoDevelop?
- 30. Installieren Sie MonoDevelop auf CentOS 5.5
Ja, aber das ist nicht der Punkt, ich möchte nur MonoDevelop verwenden ... für eine ganze Reihe von Gründen. –