Entwickler-Ecke
Sonstiges (.NET) - C# Konsolenapplikation und Maus
AyrA - Fr 03.07.09 15:03
Titel: C# Konsolenapplikation und Maus
Bin neu hier und verzweifle seit einer Woche an einem Problem:
Ich entwickle etwas mit HTML vergleichbarem, jedoch ist das Produkt (Command Line Internet) nicht grafisch, sondern Textuell in einem Konsolenfenster zu betrachten. Ich häte in dieser Konsolenapplikation gerne die Maus verwendet, da die Tastaturnavigation sogar mir als DOS User auf den Geist geht.
Weis jemand, wie ich die Maus in bezug zur Konsole auslesen kann?
Die absolute Position auf dem Bildschirm zu erhalten ist mir bekannt, jedoch hier nicht nutzbar, da jeder Benutzer den Zeichensatz und dessen Grösse ja anpassen kann.
JüTho - Fr 03.07.09 17:19
Hallo,
ich könnte mir vorstellen, dass die Console.CursorXxx-Eigenschaften passen.
Jürgen
AyrA - Fr 03.07.09 17:23
Habe ich auch schon probiert, das ist jedoch die Position des Textcursors
Namenlosnameless - Fr 03.07.09 17:35
ICh kan dir keine wirkliche Lösung anbieten weil ich mich mit Programmieren noch viel zu wenig auskenne. allerdings glaube ich einen Lösungsansatz für dich zu haben.
Wenn du die Position vom courser betsimmen kannst dann ja auch die von der Konsole. Dann lässt sich ziemlich eifach die Größe der Console auslesen.
Man müsste also nur zurückrechen, sodass nicht mehr der ganze Bildschirm angesprochen wird sondern einfach nur die Konsole.
Vlt gehts auch nicht, oder ist nicht sonderlich elegant aber ich könnts mir so ganz gut vorstellen!
AyrA - Fr 03.07.09 17:45
Habe ich mir auch schon gedacht, gibt aber probleme, wenn ein Benutzer eine andere Schriftart mit anderer Grösse in der Konsole hat, wodurch ich das berechnen müsste, dazu kommt, wenn ich in den Vollbildmodus schalte ist der Windows Cursor deaktiviert und ein Virtueller wird aktiviert, c# liefert dann also immer die selben Koordinaten. Ich lade den Client hier mal hoch. Er ist relativ chaotisch organisiert, sollte aber eigentlich bedienbar sein. Am Besten nach dem Aufruf der ersten Seite mal F1 drücken um die Funktionen zu erkunden.
AyrA - Fr 03.07.09 17:57
Das würde mich dann vor ein weiteres Problem stellen:
Ich kann zwar die Fenstergrösse ermitteln, aber nicht das "Client Area" Da dies nur bei richtigen Windows Forms verfügbar ist. Für die Konsole habe ich nichts dergleichen gefunden. Ja nachdem welches Thema und welche Schriftarten der Benutzer verwendet ist z.B. die Kopfzeile des programmes nicht immer gleich hoch, wodurch sich die Mauskoordinaten verfälschen würden. Im Vollbildmodus Funktioniert es theoretisch, da da unter Garantie kein Rand vorhanden ist.
Greenberet - Fr 03.07.09 22:38
und was ist wenn du einfach eine WinForm machst und die Konsole simulierst?
AyrA - Sa 04.07.09 15:03
Ich habe keine Lust das Rad neu zu erfinden. Ich hätte eben doch gerne, dass es eine Konsole bleibt, da die Methoden der Konsole schneller sind als wenn ich für meine Windows Form eigene entwickeln müsste. Eine Maus Routine muss es geben. Sogar der MS-DOS Editor (C:\Windows\system32\edit.com) kann das (Fenster und Vollbildmodus). Ich hätte mit einem Windows Form auch Probleme, da ich mit CLI die Hinter - und Vordergrundfarben einzelner Zeichen setzen kann, wofür mir kein Control bekannt ist, welches das kann, und ein DataGridView mit 80 Spalten und 52 Zeilen oder andere Arten zu "Bescheissen" kommen nicht in Frage.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!