Ich bin daran interessiert, eine benutzerdefinierte GUI in C# zu machen, und ich hätte gerne einen Rat, wie man das am besten geht. Das angehängte Bild ist im Allgemeinen das, was ich erstellen möchte - nämlich Zeichentext, Boxen/Hintergründe, Bilder, Linien, Kreise und andere GUI-Elemente (wie Texteingabefelder und dergleichen).Wie würde man eine benutzerdefinierte GUI in C#
Ich weiß nicht wirklich, wo ich anfangen soll, was ich in der Lage war, von Google-Suchen zu glänzen, ist, dass GDI + und das Malen Ereignis in der Lage sein kann zu tun, was ich suche - aber ich weiß nicht ob Das ist der Weg, um so etwas zu machen, oder wenn es das falsche Werkzeug für den Job ist (aka ist es langsam/unwirksam im Vergleich zu etwas anderem).
//something along the lines of this:
private void Form1_Paint(object sender, PaintEventArgs e)
{
System.Drawing.Graphics graphicsObj;
graphicsObj = this.CreateGraphics();
Pen myPen = new Pen(System.Drawing.Color.Red, 5);
Rectangle myRectangle = new Rectangle(20, 20, 250, 200);
graphicsObj.DrawRectangle(myPen, myRectangle);
}
Vielen Dank für Ihre Zeit, und vergib mir, wenn ich etwas falsch sagte; Ich habe eine harte Zeit, die sogar beschreibt, um zu googlen, was ich suche zu tun --- so wird Ihre Hilfe wirklich geschätzt !!!!
Als jemand, der viel mit WPF gearbeitet hat, wäre dies möglich für mich mit WPF zu machen. Ich bezweifle jedoch, dass es die beste Lösung ist. Ich habe auch mit Game-Engines gearbeitet, aber sie benutzen hauptsächlich C++ und ihre eigenen GUI-Bibliotheken. Wirklich daran interessiert, einige andere Antworten zu hören. – Kolky
Sie wollen auf keinen Fall das Paint-Ereignis für alles verwenden. Eine GUI besteht aus Steuerelementen, Steuerelementen und weiteren Steuerelementen. Suchen Sie nach einigen WinForms- oder WPF-Frameworks. –
Es ist eine ziemlich breite Frage, da es vollständig von der Anwendung abhängt und wie GUI-Elemente mit der Programmlogik dahinter interagieren müssen. Die MVVM von WPF ist so konzipiert, dass GUI-Designer unabhängig von dem dahinter liegenden Business-Logik-Programmierer sein können. Dies erzeugt natürlich einige Overhead- und Latenzzeiten, ist jedoch ein ziemlich guter Ansatz für eine allgemeine GUI/Programm-Interaktion. – Adwaenyth