Mega Code Archive

 
Categories / C# / WPF
 

Changing the cursor of the Border control by setting the Cursor property

<Window x:Class="WpfApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="cursors" Height="450" Width="600" Loaded="OnLoaded">   <Window.Resources>     <Style TargetType="{x:Type RadioButton}">       <Setter Property="Margin" Value="3" />     </Style>     <Style TargetType="{x:Type Label}">       <Setter Property="FontSize" Value="14" />       <Setter Property="HorizontalAlignment" Value="Center" />     </Style>     <Style TargetType="{x:Type Border}">       <Setter Property="BorderBrush" Value="LightBlue" />       <Setter Property="BorderThickness" Value="2" />       <Setter Property="Margin" Value="10" />     </Style>   </Window.Resources>   <StackPanel>     <Border Width="300">       <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">           <Label HorizontalAlignment="Left">Cursor Type</Label>           <ComboBox Width="100" SelectionChanged="CursorTypeChanged" HorizontalAlignment="Left" Name="CursorSelector">             <ComboBoxItem Content="AppStarting" />             <ComboBoxItem Content="ArrowCD" />             <ComboBoxItem Content="Arrow" />             <ComboBoxItem Content="Cross" />             <ComboBoxItem Content="HandCursor" />             <ComboBoxItem Content="Help" />             <ComboBoxItem Content="IBeam" />             <ComboBoxItem Content="No" />             <ComboBoxItem Content="None" />             <ComboBoxItem Content="Pen" />             <ComboBoxItem Content="ScrollSE" />             <ComboBoxItem Content="ScrollWE" />             <ComboBoxItem Content="SizeAll" />             <ComboBoxItem Content="SizeNESW" />             <ComboBoxItem Content="SizeNS" />             <ComboBoxItem Content="SizeNWSE" />             <ComboBoxItem Content="SizeWE" />             <ComboBoxItem Content="UpArrow" />             <ComboBoxItem Content="WaitCursor" />             <ComboBoxItem Content="Custom" />           </ComboBox>       </StackPanel>     </Border>     <Border Name="DisplayArea" Height="250" Width="400" Margin="20" Background="AliceBlue">       <Label HorizontalAlignment="Center">         Move Mouse Pointer Over This Area       </Label>     </Border>   </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Input; using System.IO; using System.Collections; namespace WpfApplication1 {     public partial class Window1 : Window     {         Cursor CustomCursor;                 public Window1()         {             CustomCursor = new Cursor(Directory.GetCurrentDirectory() +Path.DirectorySeparatorChar + "CustomCursor.cur");         }         public void CursorTypeChanged(object sender, SelectionChangedEventArgs e)         {             ComboBox source = e.Source as ComboBox;             if (source != null)             {                 ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;                                  switch (selectedCursor.Content.ToString())                 {                     case "AppStarting":                         DisplayArea.Cursor = Cursors.AppStarting;                         break;                     case "ArrowCD":                                                 DisplayArea.Cursor = Cursors.ArrowCD;                         break;                     case "Arrow":                         DisplayArea.Cursor = Cursors.Arrow;                         break;                     case "Cross":                         DisplayArea.Cursor = Cursors.Cross;                         break;                     case "HandCursor":                         DisplayArea.Cursor = Cursors.Hand;                         break;                     case "Help":                         DisplayArea.Cursor = Cursors.Help;                         break;                     case "IBeam":                         DisplayArea.Cursor = Cursors.IBeam;                         break;                     case "No":                         DisplayArea.Cursor = Cursors.No;                         break;                     case "None":                         DisplayArea.Cursor = Cursors.None;                         break;                     case "Pen":                         DisplayArea.Cursor = Cursors.Pen;                         break;                     case "ScrollSE":                         DisplayArea.Cursor = Cursors.ScrollSE;                         break;                     case "ScrollWE":                         DisplayArea.Cursor = Cursors.ScrollWE;                         break;                     case "SizeAll":                         DisplayArea.Cursor = Cursors.SizeAll;                         break;                     case "SizeNESW":                         DisplayArea.Cursor = Cursors.SizeNESW;                         break;                     case "SizeNS":                         DisplayArea.Cursor = Cursors.SizeNS;                         break;                     case "SizeNWSE":                         DisplayArea.Cursor = Cursors.SizeNWSE;                         break;                     case "SizeWE":                         DisplayArea.Cursor = Cursors.SizeWE;                         break;                     case "UpArrow":                         DisplayArea.Cursor = Cursors.UpArrow;                         break;                     case "WaitCursor":                         DisplayArea.Cursor = Cursors.Wait;                         break;                     case "Custom":                         DisplayArea.Cursor = CustomCursor;                         break;                     default:                         break;                 }             }         }         public void OnLoaded(object sender, RoutedEventArgs e)         {             ((ComboBoxItem)CursorSelector.Items[0]).IsSelected = true;         }     } }