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


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

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

上一页  1 2 3 4  下一页


  (2).鼠标相关事件中的典型问题处理办法:

  在掌握了C#中定义和鼠标相关的事件,我们就来探讨一下和鼠标相关事件的典型问题。其一是读取鼠标的当前位置;其二是判定到底是那个鼠标按键按动。

  判定鼠标的位置可以通过事件"MouseMove"来处理,在"MouseEventArgs"类中提供了二个属性"X"和"Y",来判定当前鼠标纵坐标和横坐标。而判定鼠标按键的按动情况,可以通过事件"MouseDown"来处理,并且在"MouseEventArgs"类中也提供了一个属性"Button"来判定鼠标按键情况。根据这些知识,可以得到用C#编写的读取鼠标当前位置和判定鼠标按键情况的程序代码。下面就是此代码(mouse.cs)和此代码编译后运行界面:


图01:用C#读取鼠标位置和鼠标按键的程序运行界面

  mouse.cs的源程序代码如下:

using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
public class Form1 : Form
{
private System.ComponentModel.Container components = null ;

public Form1 ( )
{
file://初始化窗体中的各个组件
InitializeComponent ( ) ;
}
file://清除程序中使用过的资源
protected override void Dispose ( bool disposing )
{
if ( disposing )
{
if (components != null)
{
components.Dispose ( ) ;
}
}
base.Dispose ( disposing ) ;
}
private void InitializeComponent ( )
{
this.AutoScaleBaseSize = new System.Drawing.Size ( 6 , 14) ;
this.ClientSize = new System.Drawing.Size ( 292 , 273 ) ;
this.Name = "Form1" ;
this.Text = "C#处理鼠标按动事件!" ;
file://为鼠标按动定义一个事件处理过程"Form1_MouseDown"
this.MouseDown += new MouseEventHandler ( Form1_MouseDown ) ;
file://为鼠标移动定义一个事件处理过程"Form1_MouseMove"
this.MouseMove += new MouseEventHandler ( Form1_OnMouseMove ) ;

}
static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
private void Form1_OnMouseMove ( object sender , MouseEventArgs e )
{
this.Text = "当前鼠标的位置为:( " + e.X + " , " + e.Y + ")" ;
}

private void Form1_MouseDown ( object sender , MouseEventArgs e )
{
file://响应鼠标的不同按键
if ( e.Button == MouseButtons.Left )
{
MessageBox.Show ( "按动鼠标左键!" ) ;
}
if ( e.Button == MouseButtons.Middle )
{
MessageBox.Show ( "按动鼠标中键!") ;
}
if ( e.Button == MouseButtons.Right )
{
MessageBox.Show ( "按动鼠标右键!") ;
}
}
}

上一页  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#动态生成组件
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!