C#语法:委托与事件
来源:互联网 发布:临时身份证制作软件 编辑:程序博客网 时间:2024/05/29 12:37
在C#中,每一个事件都是依靠委托来完成的。本次写的是如何编写自定义事件。其实不难,按步骤来就行...
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Csharp窗体练习{ public delegate void ShowCounterDel(string str);//【1】声明个委托 public partial class EventDemo : Form { public event ShowCounterDel ShowCounterEvent; //【2】定义个事件 void OnClickEvent(string str) //【3】事件内容 { Console.WriteLine("MyForm: 我知道你被执行了!" + str); } public void Run() //【5】触发事件的方法 { if (ShowCounterEvent != null) { Console.WriteLine("Run GOGOGO"); ShowCounterEvent("ShowCounterEvent GOGOGO"); } } public EventDemo() { InitializeComponent(); Console.WriteLine("EventDemo Initial"); ShowCounterEvent += new ShowCounterDel(OnClickEvent); //【4】将事件内容和事件对象联系起来 } private void EventDemo_Load(object sender, EventArgs e) { Run(); //【6】调用事件触发方法 } }}
控制台输出:
EventDemo Initial
Run GOGOGOMyForm: 我知道你被执行了!ShowCounterEvent GOGOGO
代码说明:自定义事件主要分为六步:
【1】、声明一个委托。之前有提到过,委托的返回值和参数与需要关联的方法一致。
【2】、定义一个事件。关键字event + 委托名 +事件名
【3】、事件内容:触发事件后执行的代码。
【4】、将事件内容和事件对象通过委托联系起来
【5】、编写触发事件的方法:也是触发事件的条件
【6】、执行触发事件的方法。
按照这些步骤,实现如下功能:一个窗体中有一个查询按钮,单击该按钮可以显示查询出来的数据,在此基础上增加一个功能,在窗体加载的时候执行查询按钮事件里的所有内容。换句话说就是在界面加载的时候,系统自动单击一次查询按钮。
窗体界面设计如图所示:一个查询按钮(btnSearch) 和一个label
代码如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Csharp窗体练习{ public delegate void LoadPageHandler(object sender, EventArgs e);//【1】声明个委托 public partial class EventDemo : Form { public event LoadPageHandler LoadPageEvent; //【2】定义个事件 public void PageLoadRun()//【5】触发事件的方法 { if (LoadPageEvent != null) { LoadPageEvent(this, null); } } public EventDemo() { InitializeComponent(); LoadPageEvent += new LoadPageHandler(btnSearch_Click); //【4】将事件内容和事件对象联系起来 } private void EventDemo_Load(object sender, EventArgs e) { PageLoadRun(); //【6】调用事件触发方法 } private void btnSearch_Click(object sender, EventArgs e) //【3】事件内容 { label1.Text = "假装这里是查询出来的数据"; } }}
执行之后,当页面加载出来后就如图所示。
阅读全文
0 0
- C#语法:委托与事件
- c# 委托与事件
- C#委托与事件
- C# 委托与事件
- c#委托与事件
- C# - 委托与事件
- C#委托与事件
- C# 委托与事件
- C#委托与事件
- c#委托与事件
- C#事件与委托
- C# 事件与委托
- C#事件与委托
- c#委托与事件
- C#委托与事件
- c#委托与事件
- C#委托与事件
- C# 委托与事件
- butterknife 忽视混淆那些坑
- XUtils3之数据库笔记
- sql索引介绍
- 动态规划(入门):各种数字三角形
- daemon not running. starting it now on port 5037
- C#语法:委托与事件
- 通俗易懂理解事务的4种隔离级别
- 【转载】ABAP Message
- Post接口测试示例
- 加密算法
- bootstrap-代码与表格
- 网络判断+数据库+webview
- hibernate-关联关系中的crud-13
- 钱某的安卓First Blood