1、常用鼠标操作

  1. <Window x:Class="wpf2.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:local="clr-namespace:wpf2"
  7. mc:Ignorable="d"
  8. Title="MainWindow" Height="450" Width="800">
  9. <Grid>
  10. <Grid.RowDefinitions>
  11. <RowDefinition Height="Auto"/>
  12. <RowDefinition Height="*"></RowDefinition>
  13. </Grid.RowDefinitions>
  14. <StackPanel Grid.Row="0" Name="MainPanel" Width="300" Height="300" Background="Aqua" VerticalAlignment="Top"
  15. MouseEnter="MainPanel_OnMouseEnter"
  16. MouseLeave="MainPanel_OnMouseLeave"
  17. MouseMove="MainPanel_OnMouseMove"
  18. MouseDown="MainPanel_OnMouseDown"
  19. MouseUp="MainPanel_OnMouseUp"
  20. MouseWheel="MainPanel_OnMouseWheel">
  21. </StackPanel>
  22. </Grid>
  23. </Window>
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. namespace wpf2
  17. {
  18. /// <summary>
  19. /// 鼠标单击
  20. /// </summary>
  21. public partial class MainWindow : Window
  22. {
  23. public MainWindow()
  24. {
  25. InitializeComponent();
  26. }
  27. private void MainPanel_OnMouseEnter(object sender, MouseEventArgs e)
  28. {
  29. Trace.WriteLine("鼠标进入");
  30. }
  31. private void MainPanel_OnMouseLeave(object sender, MouseEventArgs e)
  32. {
  33. Trace.WriteLine("鼠标离开");
  34. }
  35. private void MainPanel_OnMouseMove(object sender, MouseEventArgs e)
  36. {
  37. // 获取鼠标设备
  38. MouseDevice device = e.MouseDevice;
  39. // 获取鼠标位置
  40. Point point = e.GetPosition(MainPanel);
  41. Trace.WriteLine($"鼠标移动到了({point.X},{point.Y})");
  42. }
  43. private void MainPanel_OnMouseWheel(object sender, MouseWheelEventArgs e)
  44. {
  45. Trace.WriteLine($"鼠标滚轮滚动,鼠标滚动距离:{e.Delta}");
  46. }
  47. private void MainPanel_OnMouseDown(object sender, MouseButtonEventArgs e)
  48. {
  49. if(e.ClickCount == 2)
  50. Trace.WriteLine("双击");
  51. }
  52. private void MainPanel_OnMouseUp(object sender, MouseButtonEventArgs e)
  53. {
  54. Trace.WriteLine("鼠标抬起");
  55. }
  56. }
  57. }

2、鼠标捕获

3、鼠标拖放


参考链接