Laden...

Aktion beim Druck auf "Grösser" oder "Kleiner"-Zeichen ausführen - Wo finde ich die Zeichen?

Erstellt von Pacher vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.038 Views
P
Pacher Themenstarter:in
18 Beiträge seit 2015
vor 7 Jahren
Aktion beim Druck auf "Grösser" oder "Kleiner"-Zeichen ausführen - Wo finde ich die Zeichen?

Hallo!

Nach 3 Stunden erfolgloser Internet Recherche, habe ich die Hoffnung das mir hier jemand zum Erfolg helfen kann!

In meinem Winforms Programm werte ich mit nachfolgendem Code per KeyDown Ereignis bestimmte Tastatureingaben aus und entsprechende Aktionen werden ausgeführt.
Alles funktionert auch tadellos, nur bei bestimmter Shortcut Funktion hänge ich, da ich nirgends die entsprechen "Keys" finde.

Die Tastaturkombination lautet:
"STRG + UMSCHALT + >" also das größer als Zeichen
sowie
"STRG + <" also das kleiner als Zeichen

Mein Code:


        private void frmMain_KeyDown(object sender, KeyEventArgs e)
        {
			if ((e.Control & e.Shift) && e.KeyCode == Keys.C)
			{
				MessageBox.Show("Ctrl+Shift+C gedrückt");
			}
			else if (e.KeyCode == Keys.Escape)
			{
				MessageBox.Show("ESC gedrückt");
			}
			else if (e.Control && e.KeyCode == Keys.N)
			{
				MessageBox.Show("Ctrl+N gedrückt");
			}
			else if (e.Control && e.KeyCode == Keys.??????) // wie lautet der Keys für das ">"
			{
				MessageBox.Show("Ctrl+> gedrückt");
			}
        } 

Wäre für jeden Tipp dankbar!
LG Pacher

3.511 Beiträge seit 2005
vor 7 Jahren

Moin,

das müsste Keys.OemBackslash sein.

Gruß
Khalid

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

1.040 Beiträge seit 2007
vor 7 Jahren

Noch als zusätzlicher Tipp:
Wenn du einen Breakpoint auf die erste Zeile setzt und eine "unbekannte" Taste drückst, dann kannst du den entsprechenden KeyCode aus den EventArgs auslesen. =)
[Artikel] Debugger: Wie verwende ich den von Visual Studio?

190 Beiträge seit 2012
vor 7 Jahren

oder so

Debug.WriteLine(e.KeyCode.ToString());
  • Wer lesen kann, ist klar im Vorteil
  • Meistens sitzt der Fehler vorm Monitor
  • "Geht nicht" ist keine Fehlermeldung!
  • "Ich kann programmieren" != "Ich habe den Code bei Google gefunden"

GidF

P
Pacher Themenstarter:in
18 Beiträge seit 2015
vor 7 Jahren

das müsste Keys.OemBackslash sein.

Hallo @Khalid!

Ja perfekt, Keys.OemBackslash ist das >
kennst aber auch noch das Äquivalent,
also für das "<" ?

Leider bin ich mit dem Debugger noch nicht so auf du und du!! 😉

Schon mal ein Danke!
LG PACHER

1.040 Beiträge seit 2007
vor 7 Jahren

Die beiden Klammern liegen auf ein und derselben Taste. 😉
Ist also der gleiche Code, einmal mit Modifier, einmal ohne.

5.658 Beiträge seit 2006
vor 7 Jahren

Leider bin ich mit dem Debugger noch nicht so auf du und du!! 😉

Dafür gibt es ja den von p!lle verlinkten Artikel. Wie willst du denn Programme schreiben, wenn du den Code nicht debuggen kannst?

Weeks of programming can save you hours of planning

P
Pacher Themenstarter:in
18 Beiträge seit 2015
vor 7 Jahren

Leider bin ich mit dem Debugger noch nicht so auf du und du!! 😉

Dafür gibt es ja den von p!lle verlinkten Artikel. Wie willst du denn Programme schreiben, wenn du den Code nicht debuggen kannst?

Deshalb hab ich ja auch geschrieben "noch nicht....", verdiene mit C# ja nicht meine Brötchen, daher möge man es mir nachsehen das ich VS 2015 nicht im FF beherrsche...
sonst hätt ich mir ja auch die Frage erspart!!

Solche Lehrmeistersprüche sind ja nicht unbedingt sehr motivierend...., aber trotzdem Danke an alle hier für die Hinweise,
besonders an @Khalid!

Hab's für mich jetzt auch gelöst...


        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if ((e.Control & e.Shift) && e.KeyCode == Keys.Oem102)
            {
                MessageBox.Show("Ctrl + Shift + >");
            }
            else if ((e.Control) && e.KeyCode == Keys.OemBackslash)
            {
                MessageBox.Show("Ctrl + <");
            }
        }


LG Pacher

5.658 Beiträge seit 2006
vor 7 Jahren

Solche Lehrmeistersprüche

Das war eine ernst gemeinte Frage. Und ein ernst gemeinter Hinweis darauf, wie du dir die Arbeit beim Erlernen von C# erleichtern kannst.

Weeks of programming can save you hours of planning