当前位置: 首页 > news >正文

自己怎么建个免费网站有哪些做的好看的网站

自己怎么建个免费网站,有哪些做的好看的网站,什么网站是solr做的,h5模板下载有哪些网站C# WPF编程-路由事件 路由事件概要路由事件的三种方式 WPF事件WPF最重要的5类事件:生命周期事件 鼠标事件键盘事件多点触控输入原始触控 路由事件概要 路由事件是具有更强传播能力的事件,它们可在元素树中向上冒泡和向下隧道传播,并沿着传播…

C# WPF编程-路由事件

  • 路由事件概要
    • 路由事件的三种方式
  • WPF事件
    • WPF最重要的5类事件:
    • 生命周期事件
  • 鼠标事件
  • 键盘事件
  • 多点触控输入
    • 原始触控

路由事件概要

路由事件是具有更强传播能力的事件,它们可在元素树中向上冒泡和向下隧道传播,并沿着传播路径被事件处理程序处理。

路由事件的三种方式

  1. 与普通.NET事件类似的直接路由事件(direct event)。
  2. 在包含层次中向上传递的冒泡路由事件(bubbling event)。
  3. 在包含层次中向下传递的隧道路由事件(tunneling event)。

定义、注册和封装路由事件

以Button的Click事件为例:

public abstract class ButtonBase: ContentControl,...
{// 定义事件public static readonly RouteEvent ClickEvent;// 注册事件static ButtonBase(){ButtonBase.ClickEvent = EventManager.RegisterRouteEvent("Click", RoutingStrategy.Bullle, typeof(RoutedEventHandler), typeof(ButtonBase));...}// 封装事件public event RoutedEventHandler Click{add{base.AddHandler(ButtonBase.ClickEvent, value);}remove{base.RemoveHandler(ButtonBase.ClickEvent, value);}} ...
}
  • 共享路由事件
    可在类之间共享路由事件的定义。
    如:UIElement.MouseUpEvent = Mouse.MouseUpEvent.AddOwner(typeof(UIElement));

  • 引发路由事件
    与所有事件类似,定义类需要在一定情况下引发事件。使用RaiseEvent()方法引发事件。
    如:RouteEventArgs e = new RouteEventArgs(ButtonBase.ClickEvent, this);
    base.RaiseEvent(e);

  • 处理路由事件
    XAML标签中定义:
    < Image Source=“1.png” Name=“img” MouseUp=“img_MouseUp” />
    C# 代码中:
    private void img_MouseUp(object sender, MouseButtonEventArgs e)
    {
    }

  1. 添加事件:

    • 代码中和XAML标记中同样效果:
      img.MouseUp += new MouseButtonEventHandler(img_MouseUp);

    • 更精简的语法,隐式地创建合适的委托对象:
      img.MouseUp += img_MouseUp;

    • 自行调用UIElement.AddHandler()方法直接连接事件:
      img.AddHandler(Image.MouseUpEvent, new MouseButtonEventHandler(img_MouseUp));

  2. 移除事件:

    • 使用-=运算符:
      img.MouseUp -= img_MouseUp;
    • 使用UIElement.RemoveHandler()方法:
      img.RemoveHandler(Image.MouseUpEvent, new MouseButtonEventHandler(img_MouseUp));

RouteEventArgs类:
在这里插入图片描述

附件事件:
所有按键的单击事件都会触发调用DoSomething事件处理函数
在这里插入图片描述
隧道事件:
隧道路由事件易于识别,它们都以Preview开头。WPF通常成对地定义冒泡路由事件和隧道路由事件。如冒泡事件MouseUp和隧道事件PrevieMouseUp。

WPF事件

WPF最重要的5类事件:

  1. **生命周期事件:**在元素被初始化、加载或卸载时发生这些事件。
  2. **鼠标事件:**操作鼠标时发生的事件。
  3. **键盘事件:**操作键盘时发生的事件。
  4. **手写笔事件:**操作手写笔时发生的事件。
  5. 多点触控事件: 操作触摸屏时发生的事件。

生命周期事件

在这里插入图片描述
在这里插入图片描述

鼠标事件

获取鼠标Move事件的鼠标坐标信息:

       private void Window_MouseMove(object sender, MouseEventArgs e){Point pt = e.GetPosition(this);Console.WriteLine($"Window_MouseMove {pt.X}, {pt.Y}");}

在这里插入图片描述

 private void Window_MouseUp(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseUp");}private void Window_MouseDown(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseDown");}private void Window_MouseEnter(object sender, MouseEventArgs e){Console.WriteLine("Window_MouseEnter");}private void Window_MouseLeave(object sender, MouseEventArgs e){Console.WriteLine("Window_MouseLeave");}private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseDoubleClick");}private void Window_MouseMove(object sender, MouseEventArgs e){Point pt = e.GetPosition(this);Console.WriteLine($"Window_MouseMove {pt.X}, {pt.Y}");}
  • 鼠标捕获
    在这里插入图片描述

  • 鼠标拖放
    在这里插入图片描述

键盘事件

在这里插入图片描述

<Grid Button.Click="Grid_Click" KeyDown="Grid_KeyDown"><StackPanel><Button Name="btn1" Width="20" Height="30" Margin="10" Click="btn1_Click">OK</Button><TextBox TextInput="TextBox_TextInput"></TextBox></StackPanel>
</Grid>private void Grid_KeyDown(object sender, KeyEventArgs e){Console.WriteLine($"{e.Key.ToString()}");}private void TextBox_TextInput(object sender, TextCompositionEventArgs e){Console.WriteLine($"{e.Text}");}

KeyboardDevice属性提供的方法:
在这里插入图片描述

多点触控输入

在这里插入图片描述

原始触控

在这里插入图片描述

http://www.yayakq.cn/news/723178/

相关文章:

  • 有没有做语文题的网站个人免费建网站方法
  • 北京海淀网站制作遵义网站建设公司排名
  • 直播网站app下载仙桃seo公司
  • 网站建设招标书范本汝州市文明建设门户网站
  • 网站开发协议模版代做网页设计
  • 中南路网站建设公司南充网站设计
  • 百度首页网站的设计廊坊哪里有做网站建设的
  • 硚口区建设局网站有了域名后怎样做网站
  • 彭阳县城乡与住房建设局网站wordpress菜单栏移动下移
  • 电商网站的成本广州有什么好玩的地方 排行榜
  • 做网站流量优化都是什么互联网公司排名500强
  • 怎么建设网站挣钱学生网站建设首页
  • 心理学网站的建设网站建设服务费记入什么科目
  • 临桂区建设局网站江苏省住房和城乡建设厅假网站
  • dz后台网站地图适合30岁女人的培训班
  • 南昌建网站网站结构优化包括哪些
  • 建站模板免费下载网络服务包含哪些服务
  • 南阳seo网站排名wordpress页面怎么写
  • 写网站建设需求文档中国商网
  • 24小时学会网站建设 pdf揭阳 网站建设
  • 制作个人免费网站展示设计万户网络待遇怎么样
  • 国外推广网站有哪些广州外包网络推广公司
  • 欧美网站模板网站备案和域名备案有什么区别
  • 最新免费网站源码资源网站众车网是哪家公司网站
  • 快速搭建网站 开源seo排名赚app最新版本
  • html购物网站源代码郑州哪家公司做网站
  • 化工网站建站模板wordpress分类信息模板
  • 海北wap网站建设青岛网站建设报价
  • 商城网站建设html网站开发
  • 购物网站 建设wordpress 描述字段