2012-12-14 20 views
8

Desidero avere una sequenza di scelta rapida per il programma che sto sviluppando (in C# .net) per accedere a vari pulsanti nel sistema di menu.Tasti di scelta rapida della sequenza per il menu

Ad esempio: Ctrl + W, O

primo luogo, l'utente dovrebbe premere Ctrl + W, seguita da O

illustrato Studio utilizza questo metodo per un bel po 'di scorciatoie menu.

Quando io sono l'editing di un menu Tuttavia, sono limitate ad una sola scorciatoia Ctrl + W o semplicemente O, non riesco a loro sequenza.

E 'possibile fare questo con la struttura esistente?

risposta

2

Semplicemente si potrebbe fare questo:

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; 
    } 
} 

cose da prendere in considerazione

  • combinazioni di tasti singoli - Gestione quelli senza l'ambito di un precedente evento chiave .
  • Un'etichetta per mostrare che si sta aspettando l'input dell'utente , proprio come lo studio visivo.
  • Utilizzo della proprietà ShortCutKeyDisplayString per mostrare il collegamento personalizzato accanto alla voce di menu.
+0

Questo purtroppo richiederebbe molto più impegno per implementare di quanto non sia disposto a fare. Avrei considerato tuttavia, se non fosse per il fatto che nel menu, questo non lo mostra come la scorciatoia da tastiera. – Randomman159

+0

@ Randomman159 Se non sei disposto a fare uno sforzo per ottenere qualcosa che devi fare - come sviluppatore non probabilmente non andrai molto lontano con molte attività che ti sei prefissato. – LukeHennerley

+0

Questo non è esattamente ciò che intendevo. Proverò a riformulare. Una delle priorità in questo problema è la visualizzazione del camicione accanto all'elemento nel menu, quindi quando un utente lo usa ripetutamente, avrà il collegamento giusto lì per loro da vedere. Come soluzione, non incorpora questa priorità, se dovessi implementarla, sarebbe solo temporanea. Data la grande (molto grande) quantità di tasti di combinazione necessari, sembra una quantità infinita di lavoro per una soluzione temporanea. Se esiste un modo per modificare le scorciatoie visualizzate nel menu in fase di esecuzione, tuttavia, questa soluzione sarebbe ottima. – Randomman159

Problemi correlati