C#高级编程中的事件 DEMO 实例

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 09:31 点击:
一个C#高级编程中的事件 DEMO 实例,C#高级编程中的例子,讲的是事件DEMO,一起来看看吧。

以下是代码片段:
using System; 
  using System.Collections.Generic; 
  using System.Text; 
  namespace ConsoleApplication1 
  { 
  class Program 
  { 
  ///  
  /// 发生一个事件:用户选择了一个选项 
  /// 响应是1:用户得到想要的结果 
  /// 2:老板得到是否有用户在看他的信息 
  /// 
  /// 即:多点委托[显示结果,提示老板] 
  /// 
  ///  
  static void Main(string[] args) 
  { 
  //UserInputMonitor 的成员userInputRequest 事件 
  UserInputMonitor uim = new UserInputMonitor(); 
  //为userInputRequest绑定2个方法 
  UserView uv = new UserView(uim); 
  person p = new person(uim); 
  //run方法里面会提示用户来促发userInputRequest 事件 
  uim.Run(); 
  } 
  } 
  } 
  using System; 
  using System.Collections.Generic; 
  using System.Text; 
  namespace ConsoleApplication1 
  { 
  class UserInputMonitor 
  { 
  public delegate void userInputRequest(object send,UserEventArgs e); 
  public event userInputRequest onUserInputRequest; 
  public void Run() 
  { 
  //不同的促发情况 
  //UserEventArgs 带上了用户选择的信息 
  while (true) 
  { 
  System.Console.WriteLine("input p:[look personal ]"); 
  System.Console.WriteLine("input c:[look company]"); 
  System.Console.WriteLine("input e:[exit ]"); 
  string input = System.Console.ReadLine(); 
  if (input.ToLower() == "p") 
  onUserInputRequest(this, new UserEventArgs(RequestType.Personal)); 
  else if (input.ToLower() == "c") 
  onUserInputRequest(this, new UserEventArgs(RequestType.Company)); 
  else if (input.ToLower() == "e") 
  return; 
  else 
  continue; 
  } 
  } 
  } 
  } 
  using System; 
  using System.Collections.Generic; 
  using System.Text; 
  namespace ConsoleApplication1 
  { 
  enum RequestType{ 
  Personal, 
  Company 
  } 
  ///  
  /// 携带了用户选择信息的EventArgs 
  ///  
  class UserEventArgs : EventArgs 
  { 
  private RequestType reqType; 
  public RequestType GetRequestType 
  { 
  get 
  { 
  return this.reqType; 
  } 
  } 
  public UserEventArgs(RequestType t) 
  { 
  this.reqType = t; 
  } 
  } 
  } 
  using System; 
  using System.Collections.Generic; 
  using System.Text; 
  namespace ConsoleApplication1 
  { 
  ///  
  /// 绑定一个事件 
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 用C#制作屏幕捕获程序
    • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
    • 遍历ArrayList易犯错误
    • C#对XML操作:一个处理XML文件的类(1)
    • .NET简谈反射(动态调用)
    • 使用C#编写LED样式时钟控件
    • DataList嵌套问题 如何删除内层子DataList的记录
    • 怎样用C#实现完整文档打印功能
    • .NET简谈自定义事务资源管理器
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1