Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Shortcut Manager mit Shortcuts wie Visual Studio
TheBrainiac
myCSharp.de - Member

Avatar #avatar-3152.png


Dabei seit:
Beiträge: 832
Herkunft: /dev/null

Themenstarter:

Shortcut Manager mit Shortcuts wie Visual Studio

beantworten | zitieren | melden

Beschreibung:

Diese Komponente erkennt Shortcuts. Erstmal nichts besonderes, da das viele Komponenten können. Aber wie viele Komponenten gibt es, die Shortcuts wie die von Visual Studio (und auch längere) erkennen können?

z.B. folgende:
Alt + F4
Control, Shift + S
Control + E, D
Control + D, E, A, D, B, E, E, F
Control, Shift, Alt + Q, E
F3
MediaButtonPlay

ShortcutManager m_Shortcuts = new ShortcutManager();

m_Shortcuts.AddListener(myForm);

Erstellt einen Shortcut Manager und trägt eine Form als Listener ein.

m_Shortcuts.Actions.Add(Shortcut.Parse("Alt F4"), (s) => Close());
m_Shortcuts.Actions.Add(Shortcut.Parse("Control Shift S"), (s) => SaveAllDocuments());
m_Shortcuts.Actions.Add(Shortcut.Parse("Control S"), (s) => SaveCurrentDocument());
m_Shortcuts.Actions.Add(Shortcut.Parse("Control E D"), (s) => FormatText());
m_Shortcuts.Actions.Add(Shortcut.Parse("F3"), (s) => ShowSearchWindow());

Registriert ein paar Shortcuts.

m_Shortcuts.UnknownShortcut += (s) => SetInfoText("Shortcut '" + s + "' not recognized!");

Falls ein Shortcut erkannt, aber nicht registriert wurde.

Gruß,
Christian.

UPDATE:
2014-07-08: Problem mit @-Zeichen beseitigt. (Vorher 77 Downloads)

Schlagwörter: short cut manager tasten kürzel visual studio
Dieser Beitrag wurde 9 mal editiert, zum letzten Mal von TheBrainiac am .
Attachments
There are 10 types of people in the world:
Those, who think they understand the binary system
Those who don't even have heard about it
And those who understand "Every base is base 10"
private Nachricht | Beiträge des Benutzers
padde77
myCSharp.de - Member



Dabei seit:
Beiträge: 50

beantworten | zitieren | melden

Hi,

wenn ich irgendwo auf der Form eine Textbox habe, und dort eine Mailadresse einfügen möchte, wird das @ ja als "Control, Alt + Q" erkannt.
Kann ich den Erkenner auch für bestimmt Shortcuts ausschalten?

Danke padde
private Nachricht | Beiträge des Benutzers
TheBrainiac
myCSharp.de - Member

Avatar #avatar-3152.png


Dabei seit:
Beiträge: 832
Herkunft: /dev/null

Themenstarter:

beantworten | zitieren | melden

Hallo. Habe das Problem beseitigt.

Du musst an deine TextBox zwei EventHandler mit folgendem Code anhängen:

private void textBox1_Enter(object sender, EventArgs e)
{
	m_Shortcuts.SuppressKeyPress = false;
	m_Shortcuts.SetHandled = false;
}

private void textBox1_Leave(object sender, EventArgs e)
{
	m_Shortcuts.SuppressKeyPress = true;
	m_Shortcuts.SetHandled = true;
}

Download im ersten Post angepasst.

Gruß, Christian.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von TheBrainiac am .
There are 10 types of people in the world:
Those, who think they understand the binary system
Those who don't even have heard about it
And those who understand "Every base is base 10"
private Nachricht | Beiträge des Benutzers
padde77
myCSharp.de - Member



Dabei seit:
Beiträge: 50

beantworten | zitieren | melden

Hi Christian,

funktionert super!!!

Vielen Dank
Patrick
private Nachricht | Beiträge des Benutzers
padde77
myCSharp.de - Member



Dabei seit:
Beiträge: 50

beantworten | zitieren | melden

Hi Christian,

hab noch eine Frage.
Wenn ich in einer Textbox stehe, aber nur einen Handler für z.B. "Strg + Q" nutzen möchte, dieser auch registriert ist aber ein User jetzt "Strg + C" drückt, springt ja der ShortcutManager an, erkennt nix, kopiert auch nicht.
Schalte ich mit suppressKey beim Enter alles aus, funktionieren meine regisrierten Shortcuts ja nicht mehr.
Gibt es eine Möglichkeit, nur auf registrierte Shortcuts zu reagieren und den Rest quasi Windows zu "überlassen"?

Danke und Grüße
Patrick
private Nachricht | Beiträge des Benutzers