Mega Code Archive

 
Categories / VB.Net / WPF
 

TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events

<Window x:Class="RoutedEvents.KeyPressEvents"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="KeyPressEvents" Height="400" Width="400" >     <StackPanel>           <DockPanel Margin="5">             <TextBlock Margin="3" >Type here:</TextBlock>             <TextBox PreviewKeyDown="KeyEvent" KeyDown="KeyEvent"                       PreviewKeyUp="KeyEvent" KeyUp="KeyEvent"                      PreviewTextInput="TextInput"                      TextChanged="TextChanged"></TextBox>           </DockPanel>       <ListBox Margin="5" Name="lstMessages"></ListBox>       <CheckBox Margin="5" Name="chkIgnoreRepeat">Ignore Repeated Keys</CheckBox>       <Button Click="cmdClear_Click" HorizontalAlignment="Right">Clear List</Button>     </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Namespace RoutedEvents   Public Partial Class KeyPressEvents     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub KeyEvent(sender As Object, e As KeyEventArgs)       If CBool(chkIgnoreRepeat.IsChecked) AndAlso e.IsRepeat Then         Return       End If       Dim message As String = "Event: " & Convert.ToString(e.RoutedEvent) & " " & " Key: " & Convert.ToString(e.Key)       lstMessages.Items.Add(message)     End Sub     Private Sub TextInput(sender As Object, e As TextCompositionEventArgs)       Dim message As String = "Event: " & Convert.ToString(e.RoutedEvent) & " " & " Text: " & e.Text       lstMessages.Items.Add(message)     End Sub     Private Sub TextChanged(sender As Object, e As TextChangedEventArgs)       Dim message As String = "Event: " & Convert.ToString(e.RoutedEvent)       lstMessages.Items.Add(message)     End Sub     Private Sub cmdClear_Click(sender As Object, e As RoutedEventArgs)       lstMessages.Items.Clear()     End Sub   End Class End Namespace