实战基础技能(06)--------object sender C#有个毛作用

button1_Click(object sender,EventHandler e)

{
Button button=(Button)sender;
button.Text="text property has been changed at its event";
}

object 是事件的激发控件,或叫事件源:具体我们可以用MessageBox.Show(sender.ToString())直接输出,我们可以直接看到;

如果一个按钮button1,我点击这个按钮﹕sender就是按鈕﹐因為事件是在按鈕內部触发的。如果要在程序中使用sender,一般情況下你就必須知道sender是哪个类型的(比如在上面這中情況中必須只要sender的type是Button),然后在转换到那個类型中去﹐這樣你就可以在事件中访问事件发送者的数据

EventArgs是包含事件数据的类的基类,用于传递事件的细节:

e是事件参数,也就是说在定义事件的类里定义的那些属性,在某些事件里,e用处不大;
所包含的细节多少,根据各种EventArgs的定义而定,如EventArgs就是一个空值,我们在VS环境中右键"转到定义处"就可以发现其定义是这样:

public class EventArgs
{
// 摘要:
// 表示没有事件数据的事件。
public static readonly EventArgs Empty;
// 摘要:
// 初始化 System.EventArgs 类的新实例。

public EventArgs();
}

如MouseEventArgs是EventArgs的子类,那么它就定义了许多可以输出的值,其定义如下:

// 摘要: // 为 System.Windows.Forms.Control.MouseUp、System.Windows.Forms.Control.MouseDown
// 和 System.Windows.Forms.Control.MouseMove 事件提供数据。
[ComVisible(true)]
public class MouseEventArgs : EventArgs
{
// 摘要:
// 初始化 System.Windows.Forms.MouseEventArgs 类的新实例。
//
// 参数:
// clicks:
// 鼠标按钮曾被按下的次数。
//
// delta:
// 鼠标轮已转动的制动器数的有符号计数。
//
// Y:
// 鼠标单击的 y 坐标(以像素为单位)。
//
// button:
// System.Windows.Forms.MouseButtons 值之一,它指示曾按下的是哪个鼠标按钮。
//
// x:
// 鼠标单击的 x 坐标(以像素为单位)。
public MouseEventArgs(MouseButtons button, int clicks, int x, int y, int delta);
// 摘要:
// 获取曾按下的是哪个鼠标按钮。
//
// 返回结果:
// System.Windows.Forms.MouseButtons 值之一。
public MouseButtons Button { get; }
//
// 摘要:
// 获取按下并释放鼠标按钮的次数。
//
// 返回结果:
// 一个 System.Int32,包含按下并释放鼠标按钮的次数。
public int Clicks { get; }
//
// 摘要:
// 获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。
//
// 返回结果:
// 鼠标轮已转动的制动器数的有符号计数。
public int Delta { get; }
//
// 摘要:
// 获取鼠标在产生鼠标事件时的位置。
//
// 返回结果:
// 一个 System.Drawing.Point,包含鼠标的 x 和 y 坐标(以像素为单位)。
public Point Location { get; }
//
// 摘要:
// 获取鼠标在产生鼠标事件时的 x 坐标。
//
// 返回结果:
// 鼠标的 X 坐标(以像素为单位)。
public int X { get; }
//
// 摘要:
// 获取鼠标在产生鼠标事件时的 y 坐标。
//
// 返回结果:
// 鼠标的 Y 坐标(以像素为单位)。
public int Y { get; }
}
比如在MouseEventArgs的Mouse事件中,可以看到e包括mouse的坐标值等,以供你的程序使用。e参数就是通过这些定义的属性进行调用或输出的,这里我们就可以调用e.Y或e.X获得具体的参数细节了.

实战基础技能(06)--------object sender C#有个毛作用

时间: 2024-10-25 12:51:34

实战基础技能(06)--------object sender C#有个毛作用的相关文章

实战基础技能(08)--------MVVM模式中WPF数据的完全绑定

一:截图,描述:将后台代码的姓名.年龄绑定到文本框,单击”增加年龄“--年龄自+1,单击”显示年龄“--弹出年龄的显示对话框,实现了从文本框修改年龄和后台更改年龄并显示到文本框 运行结果和解决方案管理截图如下: 二:person类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace 完全数据绑定 {

实战基础技能(02)-----------类,属性,构造函数和方法打死都要快速区分

一:做项目时经常会看见很对自定义的类,一定要快速的识别才能正确的理解项目代码 二:区分 类:很好区分,有Class修饰 方法:有返回值的描述,新的方法名 构造函数:没有返回值,有类名 属性:主要是get 和set标志,可能会有自定义的类型有一定的迷惑性 实战基础技能(02)-----------类,属性,构造函数和方法打死都要快速区分,布布扣,bubuko.com

实战基础技能(07)--------WPF的登录界面的排版

一:截图 二:XAML代码 <Window x:Class="wpf练习.登录窗体" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="登录窗体" Height="200" Width="

实战基础技能(07)--------DEV控件的Gridview小技巧总结

1.设置Gridview控件的某列不可编辑 this.gridData.gridView1.Columns["change_date"].OptionsColumn.AllowEdit = false; 字段:change_date是数据库中字段,是绑定到gridview上的. 2.设置Gridview控件整体不可编辑 this.gridData.IsEnableEdit = false; 3.设置Gridview控件,列头不可排序 this.gridDataDetail.gridVi

实战基础技能(18)--------用ASP.NET调用Web Service

打开VS2010,打开“文件-新建-网站”,选择“ASP.NET网站” 选好存储位置,语言后点击确定,进入默认页面.然后先添加Web引用,把WebService引到当前的工程里面.方法是:在资源管理器中点击右键,选择添加Web 引用,调出对话框: 在URL中填入,前面写好的WebService运行后浏览器上面显示的地址,点击“前往”按钮,如上图,就会显示出所引用的WebService中可以调用的方法,然后点击“添加引用”,就将webservice引用到了当前的工程里面 ,如下图,解决方案中会出现

实战基础技能(13)--------C#代码实现隐藏任务栏、开始菜单和禁用任务管理器

一:截图,主要是调用系统接口和更改注册表实现功能 二:代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.I

实战基础技能(21)--------多数据拼凑成表插入到数据库中

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; namespace TechnologyProject.项目管理.加计扣除.ERP导入 { public partia

实战基础技能(12)--------C#程序注销、重启、关机和锁定电脑

一:截图 二:源代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.

实战基础技能(14)--------WPF之插件开发

一:解决方案管理器截图 二:简单功能说明 IMsg定义了一个接口,MYPlugin1实现接口功能,”插件式开发“实现程序运行时再调用非本身引用的dll文件,调用该dll的方法实现功能 三:IMsg.MYPlugin1(class1和class2)和插件式开发的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace IMsg { ///<summary>