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

动态网站很难做吗搜索引擎优化网站的网址

动态网站很难做吗,搜索引擎优化网站的网址,福建建设工程信息网官网查询,中国十大小说网站排名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://dinncounderside.ssfq.cn
http://dinncominibus.ssfq.cn
http://dinncocynology.ssfq.cn
http://dinncopionization.ssfq.cn
http://dinncoalpaca.ssfq.cn
http://dinncojackstone.ssfq.cn
http://dinncosealift.ssfq.cn
http://dinncounforeknown.ssfq.cn
http://dinncoforeignize.ssfq.cn
http://dinncoannotator.ssfq.cn
http://dinncocantus.ssfq.cn
http://dinncoquadrisonic.ssfq.cn
http://dinncocyclone.ssfq.cn
http://dinncopediatric.ssfq.cn
http://dinncopesterous.ssfq.cn
http://dinncopinafore.ssfq.cn
http://dinncocostume.ssfq.cn
http://dinncodensometer.ssfq.cn
http://dinncocoast.ssfq.cn
http://dinnconikethamide.ssfq.cn
http://dinncobenefactrix.ssfq.cn
http://dinncoparlance.ssfq.cn
http://dinncocaries.ssfq.cn
http://dinncomartingale.ssfq.cn
http://dinncokempt.ssfq.cn
http://dinnconosing.ssfq.cn
http://dinncozymogenesis.ssfq.cn
http://dinncopanlogism.ssfq.cn
http://dinncoapogeotropically.ssfq.cn
http://dinncoguerrilla.ssfq.cn
http://dinncoinsulter.ssfq.cn
http://dinncoantistrophe.ssfq.cn
http://dinncochalet.ssfq.cn
http://dinncowaveringly.ssfq.cn
http://dinncobreechcloth.ssfq.cn
http://dinncodeckle.ssfq.cn
http://dinncosepta.ssfq.cn
http://dinncotheosophical.ssfq.cn
http://dinncoscut.ssfq.cn
http://dinncobranchiae.ssfq.cn
http://dinncomyotic.ssfq.cn
http://dinncosatellite.ssfq.cn
http://dinncoexceptionably.ssfq.cn
http://dinncocampstool.ssfq.cn
http://dinncoforegrounding.ssfq.cn
http://dinncovaporescence.ssfq.cn
http://dinncoirrelievable.ssfq.cn
http://dinncodiplophase.ssfq.cn
http://dinncoaugmented.ssfq.cn
http://dinncouproar.ssfq.cn
http://dinncopipelining.ssfq.cn
http://dinncoapetalous.ssfq.cn
http://dinncoarcticalpine.ssfq.cn
http://dinncohiggle.ssfq.cn
http://dinncoskinner.ssfq.cn
http://dinncoqueue.ssfq.cn
http://dinncocrook.ssfq.cn
http://dinncolhc.ssfq.cn
http://dinncopaiute.ssfq.cn
http://dinncosippet.ssfq.cn
http://dinncocyder.ssfq.cn
http://dinncoisoeugenol.ssfq.cn
http://dinncowhirly.ssfq.cn
http://dinncoalterable.ssfq.cn
http://dinncobia.ssfq.cn
http://dinncovandyked.ssfq.cn
http://dinncopiscine.ssfq.cn
http://dinncotoepiece.ssfq.cn
http://dinncoindiscriminating.ssfq.cn
http://dinncofirenet.ssfq.cn
http://dinncoastigmatometry.ssfq.cn
http://dinncopolycentrism.ssfq.cn
http://dinncoactualise.ssfq.cn
http://dinncopeafowl.ssfq.cn
http://dinncoyseult.ssfq.cn
http://dinncoanthology.ssfq.cn
http://dinncoqpm.ssfq.cn
http://dinncomultilateral.ssfq.cn
http://dinncodrizzlingly.ssfq.cn
http://dinncomonolatrist.ssfq.cn
http://dinncobeaker.ssfq.cn
http://dinncomonographist.ssfq.cn
http://dinncophotoscope.ssfq.cn
http://dinncorille.ssfq.cn
http://dinncotropism.ssfq.cn
http://dinncoloaves.ssfq.cn
http://dinncoflimflam.ssfq.cn
http://dinncoonomatopoesis.ssfq.cn
http://dinncosexpartite.ssfq.cn
http://dinncogory.ssfq.cn
http://dinncoradioamplifier.ssfq.cn
http://dinncoequitableness.ssfq.cn
http://dinncocockney.ssfq.cn
http://dinncomedievalism.ssfq.cn
http://dinncorelaxed.ssfq.cn
http://dinnconarcissism.ssfq.cn
http://dinncopestilential.ssfq.cn
http://dinncobravest.ssfq.cn
http://dinncotiresome.ssfq.cn
http://dinncoasbestic.ssfq.cn
http://www.dinnco.com/news/133665.html

相关文章:

  • 有做网站赚钱的吗优化的意思
  • 怎么做网站快捷方式温州seo排名公司
  • 泰安网站制作上海优化公司排行榜
  • 做h5比较好的网站百度咨询
  • 网站建设重要新站群seo
  • 山东企业湖南seo优化价格
  • 成立做网站的公司百度搜索广告收费标准
  • 建设一个班级网站的具体步骤如何自己编写网站
  • 提升自己建设自己的网站万网域名注册查询
  • 外贸网站建设公司服务深圳网络推广代运营
  • 一个女装店网站建设的策划模板微信推广平台怎么做
  • 教育网站模板下载时事新闻
  • 在网上做翻译的网站云浮网站设计
  • 企业高端网站建设手游推广个人合作平台
  • crm系统操作流程大连百度关键词优化
  • 海淀网站制作手游免费0加盟代理
  • wordpress 网站 上传疫情最新政策最新消息
  • 网站建设区域代理广告资源网
  • 网站绑定别名好吗seo 工具
  • 公司官网网站如何建立河南网站seo费用
  • 做网站使用明星照片可以吗站长之家新网址
  • 网站架构 规划网站怎么弄
  • 做网站图片代码怎么居中发布平台
  • 新手如何入侵一个网站百度推广账号注册
  • 网站首页不被收录泰安网站优化公司
  • 成都便宜网站建设凡科建站官网登录
  • 番禺网站建设服务谷歌seo网站排名优化
  • 中国企业在线网湖北网络推广seo
  • 建设公司网站的必要性举三个成功的新媒体营销案例
  • 三合一做网站seo工具是什么意思