委托、事件小例
来源:互联网 发布:sql日期转换为时间戳 编辑:程序博客网 时间:2024/05/01 02:15
朋友在写socket的程序,希望将业务逻辑和界面分离。
写了个运用事件、委托的小demo,不当之处还望多多指点。
业务逻辑代码:
class KeyEventArgs : EventArgs { private string _msg; public KeyEventArgs(string msg) : base() { this._msg = msg; } public string Msg { get { return _msg; } } } class Server { public delegate void AfterReceived( object sender, KeyEventArgs e ); public event AfterReceived ReceiveEvent; public void Run() { while (true) { var random = new Random(); random.Next(1000); KeyEventArgs keyEventArgs = new KeyEventArgs("接收到报文:" +random.Next(1000).ToString()); ReceiveEvent(this, keyEventArgs); Thread.Sleep(2000); } } }
UI部分代码
public partial class Main : Form { private Thread backGroundThread; private Server server = new Server(); public Main() { InitializeComponent(); backGroundThread = new Thread(new ThreadStart(server.Run)); backGroundThread.IsBackground = true; //注册事件处理程序 server.ReceiveEvent += AfterReceived; } private void btnBegin_Click(object sender, EventArgs e) { backGroundThread.Start(); } /// <summary> /// 事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AfterReceived(object sender, KeyEventArgs e) { listBoxResult.Items.Add(e.Msg); } }
- 委托、事件小例
- 小试委托、事件
- 事件委托小例子
- 事件委托小练习
- c# 事件委托小例子
- 事件和委托的小案例
- C# 委托 事件 学习 以及 小DEMO
- 事件委托反射程序集小总结
- 一个小例子理解事件委托
- IOS 委托小例
- 事件委托
- 事件委托
- 委托 事件
- 委托事件
- 事件&&委托
- 委托/事件
- 委托事件
- 事件委托
- FoxcodePlus Beta 3.03发布
- 关于CollectionBase
- 16位汇编语言,堆栈中不能设置预定义数据
- TB WALL
- UVA 572
- 委托、事件小例
- 用C语言统计php代码的行数
- 昨天没怎么学,所以没记,鄙视下自己!
- 重新生成debug.keystore
- poj 1988 并查集
- javascript 设计模式
- RMXP教程3-5
- RMXP教程4-1
- RMXP教程4-2