Identificando o estado de teclas especiais CTRL, SHIFT e ALT

O VB.NET permite, através de algumas propriedades shared que alguns tipos de dados possuem, identificar o estado das teclas CTRL, SHIFT e ALT em qualquer momento no código.

O tipo Control possui a propriedade Shared chamada ModifierKeys (teclas modificadoras, traduzindo ao pé da letra).

ModifierKeys nos fornece uma mapa de bits das teclas pressionadas. Assim sendo, utilizando operações de bits com as propriedades do tipo Keys podemos identificar as teclas pressionadadas.

Exemplo:

 

Dim isShiftPressed As Boolean = (Control.ModifierKeys And Keys.Shift) <> 0

Dim isAltPressed As Boolean = (Control.ModifierKeys And Keys.Alt) <> 0

Dim isControlPressed As Boolean = (Control.ModifierKeys And Keys.Control) <> 0

 

MessageBox.Show("Shift pressionado: " & isShiftPressed & Environment.NewLine & _

"Alt pressionado:" & isAltPressed & Environment.NewLine & "Control pressionado:" & _

isControlPressed)