C#事件快捷设置
注解:本文摘自网络
C# 自定义带自定义参数的事件方法
C# 自定义带自定义参数的事件 需要经过以下几个步骤:
1、自定义事件参数 :要实现自定义参数的事件,首先要自定义事件参数。该参数是个类。继承自EventArgs。
2、声明委托用于事件
3、声明事件
4、定义事件触发 :事件定义后,要有个触发事件的动作。
以上基本上完成了自定义事件。不过还缺事件调用,请看下边两个步骤。
5、事件触发
6、自己编写事件的处理 :事件触发后。要处理事件。
实现:
假设有个打印对象,需要给它自定义一个打印事件。事件参数中传入打印的份数。在程序加载时,调用打印对象,并通过自定义打印参数,实现打印。
代码如下,此代码是在WinForm下编写。
//打印对象
public class CustomPrint
{
/// <summary>
/// 1、定义事件参数
/// </summary>
public class CustomPrintArgument : EventArgs
{
private int copies;
public CustomPrintArgument(int numberOfCopies)
{
this.copies = numberOfCopies;
}
public int Copies
{
get { return this.copies; }
}
} /// <summary>
/// 2、声明事件的委托
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void CustomPrintHandler(object sender, CustomPrintArgument e); /// <summary>
/// 3、声明事件
/// </summary>
public event CustomPrintHandler CustomPrintEvent; /// <summary>
/// 4、定义触发事件
/// </summary>
/// <param name="copyies">份数</param>
public void RaisePrint(int copyies)
{
CustomPrintArgument e = new CustomPrintArgument(copyies);
CustomPrintEvent(this, e);
}
} /// <summary>
/// WinForm 构造函数
/// </summary>
public Form1()
{
InitializeComponent(); PrintCustom();
} /// <summary>
/// 打印方法
/// </summary>
private void PrintCustom()
{
//实例对象
CustomPrint cp = new CustomPrint(); //添加事件
cp.CustomPrintEvent += new CustomPrint.CustomPrintHandler(cp_CustomPrintEvent); //5、触发事件
cp.RaisePrint(); } //6、事件处理
void cp_CustomPrintEvent(object sender, CustomPrint.CustomPrintArgument e)
{
int copies = e.Copies;
MessageBox.Show(copies.ToString());
}
}
事件设定
作为快捷指南,可以根据这个来做。
C#事件快捷设置的更多相关文章
- Airlaunch 快捷设置代码分享
Airlaunch 快捷设置代码分享设置:prefs:root=SETTING蜂窝网络:prefs:root=MOBILE_DATA_SETTINGS_IDWIFI:prefs:root=WIFI定位 ...
- Fedora19 有关输入法的无法切换问题 和 终端的快捷设置问题
Fedora19 有关输入法的无法切换问题 和 终端的快捷设置问题 1.首先,要单击右上角的设置输入法的"区域与语言设置",要设置为“为每个窗口设置不同的输入源”. 还有,刚使用的 ...
- Android下拉快捷设置面板添加快捷开关流程
快速设定面板上快捷开关的加载流程,包括图标等的加载和点击事件等的处理过程,以及创建一个快捷开关的主要过程(以增加一个锁屏开关为例).本文所讨论的Android版本为5.1. 快捷开关的加载流程 资源模 ...
- 菜鸟学JS(四)——javascript为按钮注册回车事件(设置默认按钮)
不得不说,在JS方面,自己真的是个不折不扣的菜鸟.对于JS以及一些JS框架如JQuery等JS框架,自己也只是处在简单应用的阶段,当然自己也在不断的学习当中,希望将来能跟大家分享更多JS方面的心得.今 ...
- mac_Alfred_快捷设置
1.安装(不说了去 Google 吧) 2.基础快捷键:option+space 3.打开应用程序:Alfred 几乎是一切程序的入口,你再也不需要找妈妈要开始菜单了.用快捷键呼出Alfred,输入任 ...
- Ring0创建事件Ring3设置事件
同步事件(synchronizationEvent)当事件对象为激发时,如遇到KeWaitForXX等内核函数,事件对象则自动变回未激发态通知事件(NotificationEvent)当事件对象为激发 ...
- Ring3创建事件Ring0设置事件
应用程序中创建的事件和在内核中创建的事件对象,本质上是同一个东西,在用户模式中,他用句柄表示,在内核模式下,他用KEVENT表示数据结构表示.在应用程序中,所有的内核对象都不会被用户看到,用户看到的知 ...
- C# 属性事件一些设置说明
大致列举一些常用的属性或事件的一些修饰 用法类似,主要是对属性的进一步设置 [Browsable(true)] public bool Enable {get;set;} 顺便说一下事件的应用: pu ...
- carsim2016事件如何设置
#carsim2016事件设置# 完成以下功能:车速低于60km/h时,加速,设置节气门开度为0.8,制动主斜体样式缸压力设为0:车速高于120km/h时,制动,设置节气门开度为0,制动主缸压力设置为 ...
随机推荐
- Android NDK目录介绍
交叉编译 在一个平台上去编译另一个平台上可以执行的本地代码 cpu平台---arm x86 mips 操作系统平台---windows linux mac os 原理 模拟不同平台的特性去编译代码 j ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- iOS 学习 - 12.NSMutableAttributedString 计算高度
计算 NSMutableAttributedString 高度,必须要有两个属性 -(void)test{ UILabel *label = [[UILabel alloc]initWithFrame ...
- 微信企业号api调用频率
主动调用的频率限制 当你获取到AccessToken时,你的应用就可以成功调用企业号后台所提供的各种接口以管理或访问企业号后台的资源或给企业号成员发消息. 为了防止企业应用的程序错误而引发企业号服务器 ...
- C# MVC模式 404 500页面设置方法
<customErrors mode="On" defaultRedirect="Controllers/Action"> <error st ...
- Flume应用场景及架构原理
Flume概念 Flume是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. ...
- SSRS报表连接超时的问题
这段时间遇到一个问题就是ReportService 中采用了远程连接的报表偶尔会断开连接,导致报表导出异常,查阅了很多资料,几天来就是断断续续的终于解决了这个问题,下面把一些解决的点一一展示出来,便于 ...
- Windows10 利用 Docker 配置 TensofFlow 深度学习工具
TensorFlow 这个不用多介绍了吧,大家都知道,Google的开源深度学习软件库,官网点这里:https://www.tensorflow.org/ 当然这个工具官方支持装在 Ubuntu 和 ...
- Linux 解压缩命令
gzip 文件 压缩文件 gzip -d 文件 解压文件 zcat 查看以结尾为zip 文件 bzip2 压缩文件 bzip2 -d 文件 解压文件 bzcat 查看以结尾为zip2 文件 zip ...
- Linux软件安装-yum安装
虽然RPM包安装软件很方便.快捷,但是还是需要现有安装包才能安装.为了更为方便的安装软件,发展出了利用网络自动安装的方式--yum安装. 使用yum安装的前提是机器可以上网. 1.配置yum源 在/e ...