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

动态网站如何做seo太原seo管理

动态网站如何做seo,太原seo管理,日照哪里做网站,优化稳定网站排名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.dinnco.com/news/69873.html

相关文章:

  • 飓风 网站建设seo课程心得体会
  • 做视频商用模板哪个网站靠谱软件开发公司联系方式
  • 做网站租用那个服务器好百度联盟广告收益
  • 北京电脑培训网站网站建设开发价格
  • 网站在哪里变更备案信息云资源软文发布平台
  • 百度seo排名帝搜软件seo 页面
  • 网站建设正文字体多大合适百度网络小说排行榜
  • 怎么做英文版的网站推广类软文案例
  • ps如何做网站导航图东莞网络推广优化排名
  • 站长工具亚洲高清yandex引擎
  • 舒城县建设局网站首页广告推广策划方案
  • 怎样做自己的摄影网站又有什么新病毒出现了
  • 铭做网站建设公司如何在百度宣传
  • 做购物网站开发价格常熟seo关键词优化公司
  • asp开发网站举出最新的网络营销的案例
  • 如何得知网站有没有做推广广西百度seo
  • 网站注册费计入什么科目免费关键词搜索工具
  • 九江 网站建站 设计 公司seo搜索引擎优化费用
  • 云南建设厅网站备案厂家新闻稿在线
  • 兼职 网站建设百度投放广告联系谁
  • 做物流网站win7系统优化大师
  • 东莞建网站公司哪个好提高销售的10种方法
  • 毕业设计做网站用php好吗信息流广告投放平台
  • seo是什么地方seo综合查询网站
  • 中山精品网站建设精英网址提交百度收录
  • linux怎么下载wordpress百度seo招聘
  • 网站怎么做文字禁止复制搜索引擎推广的基本方法
  • 百度做鸡网站seo标题优化的心得总结
  • 广西南宁小程序开发公司seo个人博客
  • 做数学题目在哪个网站好百度浏览器官网