come faccio a fare un tasto di scelta rapida per il pulsante in C# applicazione Windowshotkey per pulsante in un'applicazione C# di Windows
risposta
Impostare la proprietà UseMnemonic del pulsante su true e aggiungere una e commerciale (&) poco prima della lettera nella proprietà Text del pulsante si voglio usare per il tasto di scelta rapida.
L'utente dovrebbe premere Alt + per attivare il tasto di scelta rapida.
Override del modulo ProcessCmdKey
. Se trovi una sequenza di tasti che ti piace, chiama lo stesso metodo utilizzato dal pulsante.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.X))
{
DoSomething();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
private void button1_Click(object sender, EventArgs e)
{
DoSomething();
}
private void DoSomething()
{
MessageBox.Show("hi!");
}
EDIT: il metodo di Jay è meglio se si può trovare un mnemonico appropriato.
penso che questo è ciò che si vuole:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//Do whatever you want here...
}
}
Naturalmente è possibile modificare Keys.Enter
a qualsiasi chiave che si desidera.
Inoltre, ci sono le proprietà AcceptButton e CancelButton in ogni forma. Se si intende restringere l'utilizzo dei tasti di scelta rapida per accedere ai pulsanti di escape, che a loro volta devono richiamare determinati pulsanti, si consiglia di considerare l'utilizzo di queste proprietà.
Windows Applicazione e tasto di scelta rapida sono sinonimi. Le persone preferiscono utilizzare i tasti di scelta rapida per attività più veloci. Supponi di essere in una casella di testo e vuoi premere F5 per ricaricare il modulo. Non vuoi spostare il cursore del mouse. Quindi, quello che farai è che aggiungerai l'evento "Key Down" alla casella di testo. Ma, se ti trovi in una casella di testo diversa o in un pulsante, non funzionerà. Quindi, aggiungerai l'evento "Key Down" al tuo modulo.
Ma è necessario abilitare una proprietà affinché funzioni correttamente e questo è il trucco.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F5)
{
btnRefresh_Click(null, null);
}
}
Ma d'oro trucco è, nella finestra delle proprietà del modulo apportare le seguenti modifiche:
KeyPreview = True
Godetevi programmazione.
anche se questo post è super vecchio qui è un modo più semplice per farlo, il codice è piuttosto scarso ma ottiene il lavoro molto bene.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
button1.PerformClick();
}
this.KeyDown += new KeyEventHandler(Form1_KeyDown);
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.W)
{
//do something
}
}
Sulla base di risposta di Micheal Ecco una versione più elegante se non utilizzerà chiavi combinate:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch(keyData)
{
case Keys.F2:
// do something...
return true;
case Keys.F3:
// do something...
return true;
case Keys.F4:
// do something...
return true;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}
- 1. Registrati Hotkey
- 2. Comandi hotkey per Silverlight in MVVM?
- 3. Cocoa NSStatusBar Global HotKey
- 4. Cattura hotkey nei browser
- 5. Questo hotkey funziona per gli utenti Mac?
- 6. fnmatch per Windows in C?
- 7. Visual Studio C# Windows Forms ... cambia il colore del pulsante?
- 8. Android Studio: come creare hotkey per cancellare logcat?
- 9. Set hotkey globale con Python 2.6
- 10. Windows 10 Pulsante Indietro UAP
- 11. Implementazione pulsante in Objective C
- 12. Libreria NFC C# per Windows
- 13. Come posso impostare tmux hotkey Ctrl come, cioè, Ctrl + virgola
- 14. Come modificare il collegamento hotkey per le voci del menu di sistema matematico?
- 15. Come disattivare il pulsante di chiusura in C?
- 16. C++ QT contro C# .NET per lo sviluppo di Windows
- 17. Testo sublime 3: Anaconda mostra errori di sfilacciamento hotkey?
- 18. come posso disabilitare la chiave di Windows in C#?
- 19. Ripristina C# Windows Forms backcolor
- 20. Rileva Windows o Linux in C, C++
- 21. Barra di stato in C# Moduli Windows
- 22. denominazione costanti API di Windows in C#
- 23. C# windows phone - Allineamento in xaml ListBox.ItemTemplate
- 24. (Windows) Chiamate API di monitoraggio in C
- 25. Rappresentazione di Windows da C#
- 26. Sviluppo di plugin Cordova in C# per Windows 8.1/Windows 10
- 27. Usa C# per interagire con Windows Update
- 28. Usando cmake su windows per C++
- 29. Programmazione C++ per Windows con GUI
- 30. Qual è il modo più semplice per creare un tasto di scelta rapida per Windows?
Non credo che ottiene il lavoro fatto, perché questo non si compila . –