myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Gemeinschaft » .NET-Komponenten und C#-Snippets » Shortcut Manager mit Shortcuts wie Visual Studio
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Shortcut Manager mit Shortcuts wie Visual Studio

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
TheBrainiac TheBrainiac ist männlich
myCSharp.de-Mitglied

avatar-3152.png


Dabei seit: 17.12.2006
Beiträge: 795
Entwicklungsumgebung: VS 2010 Prof.
Herkunft: /dev/null


TheBrainiac ist offline

Shortcut Manager mit Shortcuts wie Visual Studio

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:

Code:
1:
2:
3:
4:
5:
6:
7:
Alt + F4
Control, Shift + S
Control + E, D
Control + D, E, A, D, B, E, E, F
Control, Shift, Alt + Q, E
F3
MediaButtonPlay

C#-Code:
ShortcutManager m_Shortcuts = new ShortcutManager();

m_Shortcuts.AddListener(myForm);

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

C#-Code:
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.

C#-Code:
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


Dateianhang:
unknown BrainiacsCode.ShortCuts.zip (62 KB, 262 mal heruntergeladen)

Dieser Beitrag wurde 9 mal editiert, zum letzten Mal von TheBrainiac am 08.07.2014 17:19.

17.05.2012 17:24 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Jahre.
padde77
myCSharp.de-Mitglied

Dabei seit: 11.08.2011
Beiträge: 46


padde77 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
05.07.2014 15:12 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
TheBrainiac TheBrainiac ist männlich
myCSharp.de-Mitglied

avatar-3152.png


Dabei seit: 17.12.2006
Beiträge: 795
Entwicklungsumgebung: VS 2010 Prof.
Herkunft: /dev/null

Themenstarter Thema begonnen von TheBrainiac

TheBrainiac ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo. Habe das Problem beseitigt.

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

C#-Code:
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 08.07.2014 17:21.

08.07.2014 17:20 Beiträge des Benutzers | zu Buddylist hinzufügen
padde77
myCSharp.de-Mitglied

Dabei seit: 11.08.2011
Beiträge: 46


padde77 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi Christian,

funktionert super!!!

Vielen Dank
Patrick
10.07.2014 13:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 10 Monate.
padde77
myCSharp.de-Mitglied

Dabei seit: 11.08.2011
Beiträge: 46


padde77 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
26.05.2015 08:35 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 7 Jahre.
Der letzte Beitrag ist älter als 4 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 13.11.2019 13:07