2012-12-14 14 views
8

Chcę mieć skrót sekwencji dla rozwijanego programu (w C# .net), aby uzyskać dostęp do różnych przycisków w systemie menu.Skróty klawiaturowe dla menu

Na przykład: Ctrl + W, O

pierwsze, użytkownik może nacisnąć Ctrl + W, a następnie O

Visual Studio wykorzystuje tę metoda dla wielu z jego skrótów menu.

Kiedy jestem edycji menu jednak jestem ograniczony tylko do jednego skrótu Ctrl+ W lub po prostu O, nie mogę ich sekwencji.

Czy można to zrobić z istniejącymi ramami?

Odpowiedz

2

prostu można to zrobić:

private void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (previousKeyEvent != null) 
    { 
    if (previousKeyEvent.Modifiers == Keys.Control && previousKeyEvent.KeyCode == Keys.W && e.KeyCode == Keys.O) 
    { 
     MessageBox.Show("Ctrl + W then O"); 
    } 
    else 
    { 
     MessageBox.Show("Not handled"); 
     previousKeyEvent = null; 
    } 
    else 
    previousKeyEvent = e; 
    } 
} 

rzeczy do rozważenia

  • pojedynczych kombinacji klawiszy - Obchodzenie tych bez zakresem a poprzednim przypadku klucza.
  • Etykieta za pokazanie, że jesteś w oczekiwaniu na wejście użytkownika, podobnie jak visual studio.
  • Korzystanie z właściwości ShortCutKeyDisplayString w celu wyświetlenia niestandardowego skrótu obok elementu menu.
+0

To niestety zajęłoby dużo więcej wysiłku w celu wdrożenia niż jestem gotów zrobić. Zastanowiłbym się jednak, gdyby nie to, że w menu nie pokazuje tego jako skrótu klawiaturowego. – Randomman159

+0

@ Randomman159 Jeśli nie jesteś gotowy, aby podjąć wysiłek, aby osiągnąć coś, co musisz zrobić - jako programista prawdopodobnie nie osiągniesz zbyt wielu zadań, które sam sobie wyznaczyłeś. – LukeHennerley

+0

To prawie nie to, co miałem na myśli. Spróbuję przeformułować. Jednym z priorytetów tego problemu jest wyświetlenie cięcia koszulki obok elementu w menu, więc gdy użytkownik będzie go powtarzalnie używał, będzie miał skrót, aby mógł je zobaczyć. Jako twoje rozwiązanie, nie uwzględni tego priorytetu, gdybym go wdrożył, byłoby to tylko tymczasowe. Biorąc pod uwagę dużą (bardzo dużą) liczbę kluczy kombinacyjnych potrzebnych, wydaje się, że jest to jednorazowa praca dla tymczasowego rozwiązania. Jeśli istnieje sposób modyfikacji wyświetlanych skrótów w menu w czasie wykonywania, to rozwiązanie byłoby świetne. – Randomman159

Powiązane problemy