Intercettazione tasti funzione

lunedì 05 settembre 2011 - 15.37
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows XP  |  Visual Studio 2010

pieroalampi Profilo | Expert

Salve ho scritto questo codice:
Private Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Keys) As Short

Private Sub FrmCommessa_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

'creo la routine per l'indicizzazione dei tasti
If GetAsyncKeyState(Keys.F1) Then

IdLavorazioneComboBox.SelectedIndex = 0

ElseIf GetAsyncKeyState(Keys.F2) Then

IdLavorazioneComboBox.SelectedIndex = 1

ElseIf GetAsyncKeyState(Keys.F3) Then

IdLavorazioneComboBox.SelectedIndex = 2

ElseIf GetAsyncKeyState(Keys.F4) Then

IdLavorazioneComboBox.SelectedIndex = 3

ElseIf GetAsyncKeyState(Keys.F5) Then

IdLavorazioneComboBox.SelectedIndex = 4

ElseIf GetAsyncKeyState(Keys.F6) Then

IdLavorazioneComboBox.SelectedIndex = 5

ElseIf GetAsyncKeyState(Keys.F7) Then

IdLavorazioneComboBox.SelectedIndex = 6

ElseIf GetAsyncKeyState(Keys.F8) Then

IdLavorazioneComboBox.SelectedIndex = 7

ElseIf GetAsyncKeyState(Keys.F9) Then

IdLavorazioneComboBox.SelectedIndex = 8

ElseIf GetAsyncKeyState(Keys.F10) Then

IdLavorazioneComboBox.SelectedIndex = 9

ElseIf GetAsyncKeyState(Keys.F11) Then

IdLavorazioneComboBox.SelectedIndex = 10

ElseIf GetAsyncKeyState(Keys.F12) Then

IdLavorazioneComboBox.SelectedIndex = 11

ElseIf GetAsyncKeyState(Keys.LShiftKey + Keys.F1) Then

IdLavorazioneComboBox.SelectedIndex = 12

ElseIf GetAsyncKeyState(Keys.LShiftKey + Keys.F2) Then

IdLavorazioneComboBox.SelectedIndex = 13

ElseIf GetAsyncKeyState(Keys.LShiftKey + Keys.F3) Then

IdLavorazioneComboBox.SelectedIndex = 14

ElseIf GetAsyncKeyState(Keys.LShiftKey + Keys.F4) Then

IdLavorazioneComboBox.SelectedIndex = 15

End If
End Sub
e non capisco perche se presso i tasti f12 e f11 dopo aver premuto gli altri la combo non cambia valore



PROBLEMA RISOLTO CON UN SEMPLICE: IdLavorazioneComboBox.Focus()
------------------------------------------------------
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA
------------------------------------------------------
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5