C#开发WINDOWS应用程序时消息的处理
2007-10-27 07:56
567 查看
2001年03月30日 15:19:00
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=3419
C#开发WINDOWS应用程序时消息的处理 C#学习笔记之二 作者:浙江省温岭市电信局 王骏 |
WINDOWS应用程序是靠消息驱动的,在VC中我们通过CLASSWIZARD可以为某窗口类添加消息处理函数,CLASSWIZARD将为你添加消息映射,对于WINDOWS消息,生成的消息处理函数重载了基类的虚拟方法。而在C#中如何处理消息呢?本文针对VS.NET BETA1环境下的C#简单地介绍WINDOWS消息以及自定义消息的处理方法。 示例代码下载 17K 一、生成一个名为MSGApplication的工程 工程的建立方法请参考:C#学习笔记之一 二、处理WM_PAINT消息 我们以WM_PAINT消息的处理为例,在C#中处理消息与MFC的消息处理是类似的,但更为简单。MFC中需要使用DECLARE_MESSAGE_MAP来定义消息映射,在C#就不需要了。比如WM_PAINT消息,我们只要重载父类中的OnPaint虚拟方法即可(虽然在BETA1中重载父类虚拟方法的操作过程有点繁琐),方法如下: 在菜单View-三、自定义消息的处理 为了处理的方便,在这里我们将需要使用到的自定义消息封装成一个类,类的添加过程如下: 在ClassView中选中我们的工程MSGApplication,按下鼠标右键,在弹出菜单中选择Add-C#学习笔记之一[/url]) 向主视窗发送TEST1自定义消息,具体代码如下: protected void button1_Click (object sender, System.EventArgs e){ SendMessage(WM.TEST1,100,200);}消息已经发出了,在Form1中我们如何对该消息作出响应呢?我们可以重载 DefWndProc方法。 protected override void DefWndProc ( ref System.WinForms.Message m ){ switch(m.msg) { case WM.TEST1: ///string与MFC中的CString的Format函数的使用方法有所不同 string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam); MessageBox.Show(message);///显示一个消息框 break; default: base.DefWndProc(ref m);///调用基类函数处理非自定义消息。 break; }}程序运行结果如图 当我们点发送消息按钮,弹出消息框并显示收到的参数。 后记:可以预料在VS.NET BETA1的后继版本中对上述过程的操作会有很大改变,但原理是一致的。让我们期待更完美的C#展现在我们面前。 |
相关文章推荐
- C#开发WINDOWS应用程序时消息的处理
- C#开发 Windows 应用程序时消息的处理
- C#开发WINDOWS应用程序时消息的处理
- C#开发WINDOWS应用程序时消息的处理
- C#开发WINDOWS应用程序时消息的处理
- 70-316 使用Microsoft Visual C# .NET and Microsoft Visual Studio .NET 开发及实现基于Windows的应用程序 考点整理
- Windows 8实用窍门系列:1.使用Xaml+C#开发第一个Metro Style应用程序
- 在WINDOWS应用程序中,消息从产生到被处理的完整流程
- Windows 8技巧:Xaml+C#开发第一个Metro Style应用程序的使用
- c#开发windows应用程序几个小技巧
- Windows应用程序消息处理机制
- C# 之 读取Word时发生 “拒绝访问” 及 “消息筛选器显示应用程序正在使用中” 异常的处理
- C#开发微信门户及应用(2) 微信消息处理和应答
- 用C#开发第一个WINDOWS应用程序
- c#开发windows应用程序几个小技巧
- web开发,asp.net/c++驱动,客户应用程序开发X86windows SDK DDK/windows mobile高手/c# ,c++ coding 够全了吧,抓紧哦
- Windows应用程序的消息处理机制
- Windows应用程序的消息处理机制
- C# 收发和处理自定义的WINDOWS消息
- windows的开发流程--事件通知和消息处理