您现在的位置是: 软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > C#专区 > 正文


-打开闪烁的新世界:体验Flash MX
-文字在平面设计中的运用
-Visual C++多媒体及图形、图像处理
-你会用3D Flash Animator吗?

C#处理鼠标和键盘事件
2002-03-28· ·马金虎··yesky

1 2 3 4  下一页


  在程序运行中,产生事件的主体有很多,其中尤其以键盘和鼠标为最多。本文就来探讨一下在C#中和这二个主体相关的事件的处理过程。

  一.本文介绍的程序设计和运行的软件环境:

  (1).微软公司视窗2000服务器版

  (2)..Net FrameWork SDK Beta 2

  二.C#中处理鼠标相关的事件:

  鼠标相关的事件大致有六种,分别是 :

    "MouseHover"、"MouseLeave"、"MouseEnter"、"MouseMove"、"MouseDown"和"MouseUp"。

  (1).如何在C#程序中定义这些事件:

  在C#中是通过不同的Delegate来描述上述事件,其中描述"MouseHover"、"MouseLeave"、"MouseEnter"事件的Delegate是"EventHandler",而描述后面的三个事件的Delegate是"MouseEventHandler"来描述。这二个Delegate分别被封装在不同的命名空间,其中"EventHandler"被封装在"System"命名空间;"MouseEventHandler"被封装在"Syetem.Windows.Froms"命名空间中的。在为"MouseHover"、"MouseLeave"、"MouseEnter"事件通过数据的类是"EventArgs",他也被封装在"System"命名空间中;而为后面的三个事件提供数据的类是"MouseEventArgs",他却被封装在"Syetem.Windows.Froms"命名空间。以上这些就决定了在C#中定义这些事件和响应这些事件有着不同的处理办法。下面就来介绍这些不同点。



  对于上述的前三个事件,是用以下语法来定义的:

   "组件名称"."事件名称"+= new System.EventHandler("事件名称");

  下面是程序中具体实现代码:

   button1.MouseLeave += new Syetem.EvenHandler(button1_MLeave);

  在完成了事件的定义以后,就要在程序中加入响应此事件的代码,否则程序编译的时候会报错。下面是响应上面事件的基本结构。

private void button1_MLeave ( object sender , System.EventArgs e )
{
此处加入响应此事件的代码
}

  定义"MouseMove"、"MouseDown"和"MouseUp"事件的语法和前面介绍的三个事件大致相同,具体如下:

   "组件名称"."事件名称"+= new System.Windows.Forms. MouseEventHandler("事件名称");

  下面是程序中具体实现代码:

button1.MouseMove += new System.Windows.Forms.MouseEventHandler(button1_MMove);

  下面是响应上面事件的基本结构:

private void button1_MMove ( object sender , System.Windows.Forms. MouseEventArgs e )
{
此处加入响应此事件的代码
}

  注释:在上述程序中的"button1"是定义的一个按钮组件。

1 2 3 4  下一页

【责任编辑:方舟】
【发表评论】【关闭窗口】
■ 相关内容
 Visual C# 对话框全接触
 从C/C++到C#的锐利之路
 C#中调用API
 在C#中使用微软AGENT之TTS
 C#与Java述评
 Visual C#如何使用Active X组件
 C#简介
 C#的多线程机制探索
 C#读取URL里面的XML数据问题
 C#中的远程执行和分布式计算
 C#中的远程执行和分布式计算
 用Visual C#动态生成组件
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!