C#时间机制学习
事件声明: public event 代理名 事件名;
在C#中,通过使用delegate,可以通过"+="为事件添加一个甚至多个响应方法;"-="来取消这些方法
C#中使用事件的步骤:
1,创建一个委托;
2,将创建的委托与特定的事件相关联;
3,编写事件处理程序;
4,利用编写的事件处理程序生成一个委托实例;
5,把这个委托实例添加到产生事件对象的事件列表中(订阅事件);
6,编写程序来触发事件的产生。
事件实例程序:
捕获键盘输入事件,每次输入一个字符之后再控制台以大写字母的形式输出该字符。
【运行环境:VS2008】
using System;
using System.Collections.Generic;
using System.Text;
namespace StudyEvent2
{
class Program
{
static void Main(string[] args)
{
KeyInputMonitor monitor = new KeyInputMonitor();
EventReceiver receiver = new EventReceiver(monitor);
monitor.Run();
//Console.ReadKey();
}
}
internal class KeyEventArgs : EventArgs
{
private char keyChar;
public KeyEventArgs(char keyChar) : base()
{
this.keyChar = keyChar;
}
public char KeyChar
{
get
{
return this.keyChar;
}
}
}
internal class KeyInputMonitor
{
public delegate void KeyDown(object sender, KeyEventArgs e);
public event KeyDown OnKeyDown;
public void Run()
{
bool finished = false;
do
{
Console.WriteLine("Input a char");
string response = Console.ReadLine();
char responseChar = (response == "") ? ' ' : char.ToUpper(response[0]);
switch (responseChar)
{
case 'X':
finished = true;
break;
default:
KeyEventArgs keyEventArgs = new KeyEventArgs(responseChar);
OnKeyDown(this, keyEventArgs);
break;
}
} while (!finished);
}
}
internal class EventReceiver
{
public EventReceiver(KeyInputMonitor monitor)
{
monitor.OnKeyDown += new KeyInputMonitor.KeyDown(Echo);
}
private void Echo(object sender, KeyEventArgs e)
{
Console.WriteLine("Capture key: {0}", e.KeyChar);
}
}
}
分享到:
相关推荐
C#怎样实现连接和操作SQL Server数据库以及实现连接的锁机制等。这SQL Server内容有来自互联网的一些帖子,希望能过。
若是单纯以概念来说,你可以把.net当做一个工作平台一般,它是一个开发环境的...等应用程式一个共通的平台,若是要了解深一点,则再去了解其运作的相关机制那是有助于你利用它来开发.C#和.NET主要是应用在网际网路的。
数据库知识和 SQL Server 2000 (40课时) 讲授数据库的基本知识和SQL Server 2000, 讲授数据库的设计和优化,学习T-SQL 和数据库编程,学习存储过程(stored procedure)和触发机制(trigger). 掌握 SQL Server 2000,...
数据库知识和 SQL Server 2000 (40课时) 讲授数据库的基本知识和SQL Server 2000, 讲授数据库的设计和优化,学习T-SQL 和数据库编程,学习存储过程(stored procedure)和触发机制(trigger). 掌握 SQL Server 2000,...
主要介绍了C#中面向对象编程机制之多态学习笔记,本文总结了个人对多态的理解以及接口多态、继承多态等内容,并给出了代码示例,需要的朋友可以参考下
24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在...
主要介绍了C#中面向对象编程机制之继承学习笔记,本文给出一个简单子实例讲解C#中的继承,并讲解了一些C#继承的知识技巧,需要的朋友可以参考下
条件编译是C#比Java多出的东西,但我跟前辈请教后,他们都说条件编译在实际的项目开发中不怎么使用.鉴于是新内容,我还是做做笔记,理解一下好了. 条件编译属于编译预处理的范畴,它能让我们通过条件编译的机制,将部分...
数据库知识和 SQL Server 2000 (40课时) 讲授数据库的基本知识和SQL Server 2000, 讲授数据库的设计和优化,学习T-SQL 和数据库编程,学习存储过程(stored procedure)和触发机制(trigger). 掌握 SQL Server 2000,...
通过子任务的学习,读者能掌握C/S模式的管理信息系统的设计开发流程、事件驱动编程机制、C#Windows编程技术、数据库访问技术、报表设计以及安装与部署Windows程序的全过程。全书共10个项目,分别为随笔记系统分析与...
为了保护应用程序的资源不被破坏,为多线程程序提供了三种加锁的机制,分别是:Monitor类、Lock关键字和Mutex类。 1. lock lock实现的功能是:使后进入的线程不会中断当前的线程,而是等待当前线程结束后再继续执行...
使用继承机制,实现笔记本计算机和台式计算机的共同管理
因为工作需要,最近学习了一下微信小程序,在此分享一下大概的流程。 强烈建议大家先去看微信小程序简易教程:点我进入 起步 客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ...
幸好自己有写学习笔记的习惯,整理一下,贴出来,以备忘。特性会作为元数据嵌入到程序集,通过反射机制能够得到这些元数据信息。程序员可以自己定义特性,对特性进行某种格式的定义,并利用特性来影响自己编写代码...
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
MyCode AlgorithmAndDataStructure 数据结构和算法作为计算机基础,还比较重要。虽然挺难,但是实际总结学习后...CLR_Via_CSharp记录了所有实验代码和个人学习笔记。 TheBeautifyOfDotNet,也是一本不错的书籍《.Net之
ASP.NET培训资料(笔记版)(AJAX,C#,JavaScript,SQL) 详细的资料 三个月的课程录像+资料笔记(花了一万六千块的培训资料超值【19G的经典内容】 认真学习后包你能成为优秀的.net程序员 <br>(注明:不是...
C#,JavaScript,SQL) <br>我将不定期发布,直至所有课程完毕 <br>详细的资料 三个月的课程录像+资料笔记(花了一万六千块的培训资料超值【19G的经典内容】 认真学习后包你能成为优秀的.net程序员 ...