Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - tasti scelta rapida come impostarli?
Forum - C# / VB.NET - tasti scelta rapida come impostarli?

Avatar
MagoDelC++ (Normal User)
Rookie


Messaggi: 29
Iscritto: 03/05/2010

Segnala al moderatore
Postato alle 15:00
Sabato, 24/07/2010
salve ragazzi... il mio problema è questo.. allora io vorrei mettere dei tasti di scelta rapida in un programma per far partire un evento.. esempio con firefox schiacciando control+n apre una nuova finestra.. io vorrei fare una cosa simile se provo a scrivere su google hotkeys o altro mi escono sempre i tasti di xp per la scelta rapida idem per msdn! qualcuno può aiutarmi per favore? :)

PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 15:29
Sabato, 24/07/2010
Ciao, se stai utilizzando dei controlli puoi utilizzare l'operatore "&" che messo davanti a una lettera nella proprietà "Text" di quel controllo fa in modo che alla pressione di quella lettera, corrisponda il click sullo stesso.
Esempio:
Button1.Text = "&Cliccami"
Il testo nel pulsante apparirà così:
Cliccami
Alla pressione della lettera "C" corrisponderà il click su questo pulsante.

Con i menù puoi anche usufruire della proprietà "ShortcutKeys" che ti permette di selezionare una sequenza di tasti di scelta rapida.

Se tutto questo non ti fosse possibile puoi con un timer controllare se una sequenza di tasti viene premuta e richiamare quello che ti pare.

Ultima modifica effettuata da crash outside control il 24/07/2010 alle 15:31
PM Quote
Avatar
MagoDelC++ (Normal User)
Rookie


Messaggi: 29
Iscritto: 03/05/2010

Segnala al moderatore
Postato alle 18:50
Sabato, 24/07/2010
ok "ShortcutKeys" mi interessa come lo posso utilizzare?

PM Quote
Avatar
MagoDelC++ (Normal User)
Rookie


Messaggi: 29
Iscritto: 03/05/2010

Segnala al moderatore
Postato alle 19:55
Sabato, 24/07/2010
ok grazie al tuo aiuto sono riuscito a trovare un sempio funzionante su google... lo posto cosi anche altri possono vederlo:

Import the Interop namespace, since we have to call a Win32 API function to register the Hotkey.

Codice sorgente - presumibilmente C# / VB.NET

  1. using System.Runtime.InteropServices;


Add these static external methods to your form (or a separate class if you prefer).
Codice sorgente - presumibilmente C++

  1. [DllImport("user32.dll")]
  2. public static extern bool RegisterHotKey(IntPtr hWnd,
  3.   int id,int fsModifiers,int vlc);
  4. [DllImport("user32.dll")]
  5. public static extern bool UnregisterHotKey(IntPtr hWnd, int id);


Listen for the Hotkey windows message, by examining all windows messages passed to the form. Replace this.Activate() with your desired response to the Hotkey (eg: show the form, if you have a tray application).
Codice sorgente - presumibilmente Delphi

  1. protected override void WndProc(ref Message m)
  2. {
  3.    if (m.Msg == 0x0312)
  4.       this.Activate();
  5.    base.WndProc(ref m);
  6. }


Now register your Hotkey. The first argument is the handle to this form (window). The second is, as far as I can make out, a code to identify your Hotkey. The third argument specifies which modifier keys to register (just add up the numbers in the comments depending on your desired combination). The fourth argument is the character code of the alphanumeric key (or even other keys). If you are specifying a letter, it must be uppercase.
Codice sorgente - presumibilmente Plain Text

  1. // Alt = 1, Ctrl = 2, Shift = 4, Win = 8
  2.  
  3. FrmStartup.RegisterHotKey(this.Handle,
  4.   this.GetType().GetHashCode(), 3, (int)'J');





PM Quote
Avatar
crash outside control (Normal User)
Expert


Messaggi: 217
Iscritto: 12/02/2008

Segnala al moderatore
Postato alle 20:13
Sabato, 24/07/2010
Basta aggiungere ad esempio il controllo "MenuStrip" aggiungere una voce e modificare la proprietà "ShortcutKeys" di quest'ultima ...

Testo quotato

ok "ShortcutKeys" mi interessa come lo posso utilizzare?


Testo quotato

Con i menù puoi anche usufruire della proprietà "ShortcutKeys"



P.S.: La prossima volta usa il tasto "edit" non scrivere due post consecutivi.

PM Quote