WPF基础(七)WPF/C# 点击事件btnStart_Click(object sender, RoutedEventArgs e) :sender的本质,e的本质

一、简介

WPF用来好久,没有详细分析btnStart_Click(object sender, RoutedEventArgs e),今天和大家分享一下,点击事件这两个参数的来龙去脉。

   private void btnStart_Click(object sender, RoutedEventArgs e)
        {
           
        }

界面及其代码如下:

 

<Window x:Class="AForge.Wpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:local="clr-namespace:AForge.Wpf"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        Title="MainWindow"
        Width="422.669"
        Height="350"
        mc:Ignorable="d">
    <Grid>
        <Image x:Name="videoPlayer" Margin="10,0,10,70" />
        <ComboBox x:Name="comboBox"
                  Width="167"
                  Height="21"
                  Margin="10,0,0,25"
                  HorizontalAlignment="Left"
                  VerticalAlignment="Bottom"
                  DisplayMemberPath="Name"
                  ItemsSource="{Binding VideoDevices}"
                  SelectedItem="{Binding CurrentDevice}" />
        <Label Width="167"
               Height="24"
               Margin="10,0,0,46"
               HorizontalAlignment="Left"
               VerticalAlignment="Bottom"
               Content="Select video source" />
        <Button Width="67"
                Height="21"
                Margin="213,0,0,25"
                HorizontalAlignment="Left"
                VerticalAlignment="Bottom"
                Click="btnStart_Click"
                Content="Start" Background="Red" />
        <Button Width="67"
                Height="21"
                Margin="296,0,0,25"
                HorizontalAlignment="Left"
                VerticalAlignment="Bottom"
                Click="btnStop_Click"
                Content="Stop" />
    </Grid>
</Window>

二、this

this是值当前Window窗口类,该类包含了属性,比如背景颜色

包含了自定义的方法,比如:

包含了系统带的方法,比如:

三、sender

指的就是Button,包含了该控件的长度和高度。

四、e(重点讨论)

1、事件源,就是Button,也就是e.OriginalSource = Button。

2、wpf中,事件是会被路由转发的。在这个过程中,事件会经过一系列的控件。

展开RoutedEvent,你会发现,点击事件的信息传递,经过了一系列的控件:

五、总结

EventArgs 本质是什么?信息的传递过程,官网上也没有给出,苦逼啊。

https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.routedeventargs?redirectedfrom=MSDN&view=netframework-4.7.2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值