Autor Beitrag
Kasko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91

Win 10
C# (VS 2017/19), (Java, PHP)
BeitragVerfasst: So 05.08.18 12:18 
Diese Frage mag trivial klingen, aber trotzdem...

Gibt es in C#.net die Möglichkeit ein ganz einfaches Fenster zu erstellen (und damit meine ich WIRKLICH einfach). Ich möchte kein vorgefertigtes, komplettes Windows Formular, mit der Möglichkeit haufenweise Controls hinzuzufügen, die auch noch über die unterschiedlichsten EventHandler verfügen, sondern ich möchte ein wirklich einfaches Fenster auf dem man zeichnen kann und was Input erkennt, mehr nicht.

Allerdings sollte man schon nicht nur Pixel zeichnen können sondern auch Formen, Bitmaps oder Schrift, aber mehr auch nicht.

Gibt es solche Fenster oder muss ich dafür wirklich Windows Forms verwenden.

LG Kasko ;)


P.S. Mir ist bewusst, dass ich das alles auch mit Windows Forms machen kann und sie mir noch zusätzliche Möglichkeiten bieten, aber es wäre schön auch mal etwas sehr einfaches zu haben, wo man dann vielleicht auch noch die Programm-Schleife an sich erstellen und bearbeiten kann. Ich denke dabei an sowas wie die SFML.net RenderWindows aber halt nur schon im .net-Framework integriert. Windows Forms haben ja auch den Nachteil, dass sie nicht plattformübergreifend funktionieren, zumindest enthält mein Wissensstand keine Möglichkeit für plattformübergreifende Forms.


Moderiert von user profile iconTh69: Topic aus C# - Die Sprache verschoben am So 05.08.2018 um 14:32
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4121
Erhaltene Danke: 853

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: So 05.08.18 13:40 
Hallo,

dies ist weniger eine Frage der Sprache C# (daher habe ich dieses Thema auch verschoben), sondern eher der zu verwendenden Betriebssysteme bzw. UI-Technologien (z.B. DirectX, OpenGL, ...).
Was sind denn deine Anforderungen daran?
Kasko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91

Win 10
C# (VS 2017/19), (Java, PHP)
BeitragVerfasst: So 05.08.18 16:08 
1. Anforderungen an das Fenster
2. Erklärung warum überhaupt

1. Es soll ein einfaches, von Design her an das Design der Betriebssysteme angepasstes (Standard)Fenster sein, auf welchem man lediglich die Pixel kolorieren kann und zusätzlich die Möglichkeit hat einfache Formen wie Kreise, Rechtecke oder Ellipsen zu zeichnen sowie Bitmaps, und Text darzustellen. Außerdem sollte es Maus- und Tastaturinput erkennen. Das ist alles. Es soll also befreit sein von allen anderen Funktionen von Windows Forms wie, Controls und deren Einordnung in eine Parent-Child-Hierarchy.

2. @Th69 Du hast ja bereits umfangreiche UI-Technologien wie OpenGL und Co. erwähnt. Zudem habe ich schon gesagt, dass ich mir etwas vergleichbares wie die SFML.net RenderWindows vorstelle. Die einfachste Variante wäre nun wahrscheinlich einfach genau diese zu verwenden. Das Problem liegt dabei, dass ich zum Entwickeln sehr gerne Visual Studio Code anstatt Visual Studio 2017 Community oder etwas der gleichen verwende, ganz einfach weil ich die Oberfläche besser finde und es so für mich angenehmer ist zu programmieren (ist halt ein Bauchgefühl bzw. einfach Geschmackssache). Visual Studio Code ist aber darauf ausgelegt plattformübergreifend zu funktionieren, wodurch die Möglichkeit auf Windows Forms Entwicklung zum Beispiel nicht gegeben ist. Zudem finde ich keine Dokumentation im Internet, welche das Einbinden von SFML.Net in Vs Code beschreibt. Daher meine Frage ob es im C#.Net Core vergleichbare Fenster gibt mit denen man arbeiten kann. Und wenn nicht im Core dann im .Net Framework.


Zuletzt bearbeitet von Kasko am So 05.08.18 17:02, insgesamt 1-mal bearbeitet
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 05.08.18 16:59 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4121
Erhaltene Danke: 853

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: So 05.08.18 17:32 
Hallo Kasko,

ich glaube, du verwechselst da etwas. Visusl Studio Code und Visual Studio sind einfach nur IDEs, d.h. unabhängig von der damit zu entwickelnden Sprache und eingesetzten Frameworks.
.NET Core unterstützt bisher selber keine UI Technologie (außer direkte Konsolenanwendungen), so daß dir also nur das .NET Framework (zumindestens dafür) bleibt (also WinForms oder WPF) - oder Xamarin(.Forms) für mobile Anwendungen (Apps).

Und SFML.Net stellt einen Wrapper für SFML (C++) dar, welches wiederum auf OpenGL bei den verschiedenen Systemen aufbaut.
Unter How do I set up an SFML .NET dll reference in Visual Studio Code gibt es einen Link auf ein Beispielprojekt damit: Spacetris

Du hast aber immer noch nicht geschrieben, auf welchen konkreten Zielsystemen deine Anwendung dann laufen soll (nur "plattformübergreifend" zu schreiben, reicht nicht)...

PS:
@Frühlingsrolle: Die Klasse Control gehört ja zu WinForms, ist also nur unter Windows lauffähig (außer man nutzt Mono, dann auch Linux und Mac).
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 05.08.18 20:04 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4121
Erhaltene Danke: 853

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: Mo 06.08.18 07:15 
Für Mono gibt es eine spezielle IDE: MonoDevelop, welche unter Windows, Linux und Mac läuft (s.a. Mono-Documentation [bes. "Getting Started"]).
Und für Xamarin gibt es speziell Visual Studio für Mac (früher "Xamarin Studio").

Und direkt für Visual Studio 2015 (Windows) gibt es ein Plugin, um Mono-Projekte zu bauen: vs-mono (ob es auch für 2017 funktioniert, weiß ich allerdings nicht).
Per se müßte aber ein WinForms-Projekt direkt unter Mono (Windows, Linux, Mac) lauffähig sein (da Mono schnittstellenkompatibel zu .NET ist), nur darf man eben keine nicht unterstützten Libs (wie z.B. WPF) benutzen, sonst gibt es direkt einen Laufzeitfehler beim Start der Applikation.

Weitere Hinweise und Links gibt es unter dem (älteren) Beitrag von 2009: Using visual studio for developing mono applications (diese könnten mittlerweile aber eher überholt sein).
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 06.08.18 16:27 
- Nachträglich durch die Entwickler-Ecke gelöscht -