Dal momento che nel programma ho creato una paginetta con delle combo dove imposto i comandi associo ai bottoni o agli assi del joystick.
Per i bottoni non ho problemi perchè nelle combo ho il valore del bottone di cui leggere lo stato.
Ma per gli assi no quindi mi ritrovo il polling del Joystick pieno di select case così:

codice:
   Private Sub joystickPolling()
        If ComCamera.IsOpen = True Then
            Try
                joy1.Poll()
                Dim state As JoystickState = joy1.CurrentJoystickState

                'Assegnazione PAN
                Select Case cboSelectPan.SelectedItem.ToString
                    Case "X"
                        CurrXval = state.X
                    Case "Rx"
                        CurrXval = state.Rx
                    Case "Vx"
                        CurrXval = state.VX
                    Case "Ax"
                        CurrXval = state.AX
                    Case "ARx"
                        CurrXval = state.ARx
                    Case "VRx"
                        CurrXval = state.VRx
                    Case "Y"
                        CurrXval = state.Y
                    Case "Ry"
                        CurrXval = state.Ry
                    Case "Vy"
                        CurrXval = state.VY
                    Case "Ay"
                        CurrXval = state.AY
                    Case "ARy"
                        CurrXval = state.ARy
                    Case "VRy"
                        CurrXval = state.VRy
                    Case "Z"
                        CurrXval = state.Z
                    Case "Rz"
                        CurrXval = state.Rz
                    Case "Vz"
                        CurrXval = state.VZ
                    Case "Az"
                        CurrXval = state.AZ
                    Case "ARz"
                        CurrXval = state.ARz
                    Case "VRz"
                        CurrXval = state.VRz
                End Select

                'Assegnazione SLOWPT
                Select Case cboSlowPT.SelectedItem.ToString
                    Case "X"
                        CurrSlowPT = state.X
                    Case "Rx"
                        CurrSlowPT = state.Rx
                    Case "Vx"
                        CurrSlowPT = state.VX
                    Case "Ax"
                        CurrSlowPT = state.AX
                    Case "ARx"
                        CurrSlowPT = state.ARx
                    Case "VRx"
                        CurrSlowPT = state.VRx
                    Case "Y"
                        CurrSlowPT = state.Y
                    Case "Ry"
                        CurrSlowPT = state.Ry
                    Case "Vy"
                        CurrSlowPT = state.VY
                    Case "Ay"
                        CurrSlowPT = state.AY
                    Case "ARy"
                        CurrSlowPT = state.ARy
                    Case "VRy"
                        CurrSlowPT = state.VRy
                    Case "Z"
                        CurrSlowPT = state.Z
                    Case "Rz"
                        CurrSlowPT = state.Rz
                    Case "Vz"
                        CurrSlowPT = state.VZ
                    Case "Az"
                        CurrSlowPT = state.AZ
                    Case "ARz"
                        CurrSlowPT = state.ARz
                    Case "VRz"
                        CurrSlowPT = state.VRz
                End Select

                'Assegnazione TILT
                Select Case cboSelectTilt.SelectedItem.ToString
                    Case "X"
                        CurrYval = state.X
                    Case "Rx"
                        CurrYval = state.Rx
                    Case "Vx"
                        CurrYval = state.VX
                    Case "Ax"
                        CurrYval = state.AX
                    Case "ARx"
                        CurrYval = state.ARx
                    Case "VRx"
                        CurrYval = state.VRx
                    Case "Y"
                        CurrYval = state.Y
                    Case "Ry"
                        CurrYval = state.Ry
                    Case "Vy"
                        CurrYval = state.VY
                    Case "Ay"
                        CurrYval = state.AY
                    Case "ARy"
                        CurrYval = state.ARy
                    Case "VRy"
                        CurrYval = state.VRy

......
......
End sub
Esiste un modo per abbreviare questo codice ?

Grazie, Alberto