Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Event sender, event source and event original source

<Window x: Class="RoutedEvents.BubbledLabelClick"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="BubbledLabelClick" Height="360" Width="330" MouseUp="SomethingClicked" >     <StackPanel MouseUp="SomethingClicked">       <Label Margin="5" BorderThickness="1" MouseUp="SomethingClicked" HorizontalAlignment="Left" >         <StackPanel MouseUp="SomethingClicked" >           <TextBlock Margin="3" MouseUp="SomethingClicked">label</TextBlock>           <Image Source="c:\image.jpg" Stretch="None" MouseUp="SomethingClicked" />           <TextBlock Margin="3" MouseUp="SomethingClicked">test</TextBlock>         </StackPanel>       </Label>       <ListBox Margin="5" Name="lstMessages" Grid.Row="1"></ListBox>       <CheckBox Margin="5" Name="chkHandle">Handle first event</CheckBox>       <Button Click="cmdClear_Click" HorizontalAlignment="Right" Margin="5" Padding="3">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 BubbledLabelClick     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub     Protected eventCounter As Integer = 0     Private Sub SomethingClicked(sender As Object, e As RoutedEventArgs)       eventCounter += 1       Dim message As String = "#" & eventCounter.ToString() & ":" & vbCr & vbLf & " Sender: " & sender.ToString() & vbCr & vbLf & " Source: " & Convert.ToString(e.Source) & vbCr & vbLf & " Original Source: " & Convert.ToString(e.OriginalSource)       lstMessages.Items.Add(message)       e.Handled = CBool(chkHandle.IsChecked)     End Sub     Private Sub cmdClear_Click(sender As Object, e As RoutedEventArgs)       eventCounter = 0       lstMessages.Items.Clear()     End Sub   End Class End Namespace