Export (0) Print
Expand All

KeyEventArgs.Handled Property

Gets or sets a value indicating whether the event was handled.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

'Declaration
Public Property Handled As Boolean

Property Value

Type: System.Boolean
true to bypass the control's default handling; otherwise, false to also pass the event along to the default control handler.

Handled is implemented differently by different controls within Windows Forms. For controls like TextBox which subclass native Win32 controls, it is interpreted to mean that the key message should not be passed to the underlying native control. If you set Handled to true on a TextBox, that control will not pass the key press events to the underlying Win32 text box control, but it will still display the characters that the user typed.

If you want to prevent the current control from receiving a key press, use the SuppressKeyPress property.

The following example determines whether the user pressed a non-numeric key, and if so, cancels the KeyPress event by using the Handled property.

' Boolean flag used to determine when a character other than a number is entered. 
Private nonNumberEntered As Boolean = False 


' Handle the KeyDown event to determine the type of character entered into the control. 
Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
     Handles textBox1.KeyDown
    ' Initialize the flag to false.
    nonNumberEntered = False 

    ' Determine whether the keystroke is a number from the top of the keyboard. 
    If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then 
        ' Determine whether the keystroke is a number from the keypad. 
        If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then 
            ' Determine whether the keystroke is a backspace. 
            If e.KeyCode <> Keys.Back Then 
                ' A non-numerical keystroke was pressed.  
                ' Set the flag to true and evaluate in KeyPress event.
                nonNumberEntered = True 
            End If 
        End If 
    End If 
    'If shift key was pressed, it's not a number. 
    If Control.ModifierKeys = Keys.Shift Then
        nonNumberEntered = true
    End If 
End Sub 'textBox1_KeyDown


' This event occurs after the KeyDown event and can be used  
' to prevent characters from entering the control. 
Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
    Handles textBox1.KeyPress
    ' Check for the flag being set in the KeyDown event. 
    If nonNumberEntered = True Then 
        ' Stop the character from being entered into the control since it is non-numerical.
        e.Handled = True 
    End If 
End Sub 'textBox1_KeyPress

.NET Framework

Supported in: 4.6, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft