Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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? :)


PC Case: CABINET AZTEC BLAK - AIR DUCT - CPU: CPU QUAD CORE Q8300 3.0GHZ - RAM: KINGSTON DDR3 4GB (2 x 2gb) 1333MHZ PC3-10600 - Video: 9800GT 1024MB 1GB GDDR3 - HARD DISK: MAXTOR 1000GB SATA2 7200rpm 3,5"
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


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
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?


PC Case: CABINET AZTEC BLAK - AIR DUCT - CPU: CPU QUAD CORE Q8300 3.0GHZ - RAM: KINGSTON DDR3 4GB (2 x 2gb) 1333MHZ PC3-10600 - Video: 9800GT 1024MB 1GB GDDR3 - HARD DISK: MAXTOR 1000GB SATA2 7200rpm 3,5"
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');






PC Case: CABINET AZTEC BLAK - AIR DUCT - CPU: CPU QUAD CORE Q8300 3.0GHZ - RAM: KINGSTON DDR3 4GB (2 x 2gb) 1333MHZ PC3-10600 - Video: 9800GT 1024MB 1GB GDDR3 - HARD DISK: MAXTOR 1000GB SATA2 7200rpm 3,5"
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.


Anche un orologio fermo segna l'ora giusta due volte al giorno.
Hermann Hesse
PM Quote