C#中简单的键盘和鼠标事件处理完整教程

本文就来探讨一下在C#中和这二个主体相关的事件的处理过程。
一.本文介绍的程
【菜科解读】
本文就来探讨一下在C#中和这二个主体相关的事件的处理过程。
一.本文介绍的程序设计和运行的软件环境: (1).Windows xp (2)..net framework 2.0 二.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"是定义的一个按钮组件。
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 ( "按动鼠标右键!") ; } } } 三.C#中处理和键盘相关的事件: 在C#中和键盘相关的事件相对比较少,大致就三种:"KeyDown"、"KeyUp"和"KeyPress"。
(1).如何在C#程序中定义这些事件: C#中描述"KeyDown"、"KeyUp"的事件的Delegate是"KeyEventHandler"。
而描述"KeyPress"所用的Delegate是"KeyPressEventHandler"。
这二个Delegate都被封装在命名空间"Syetem.Windows.Froms"中。
为"KeyDown"、"KeyUp"的事件提供数据的类是"KeyEventArgs"。
而为"KeyPress"事件提供数据的类是"KeyPressEventArgs"。
同样这二者也被封装在命名空间"Syetem.Windows.Froms"中。
在C#程序定义"KeyDown"、"KeyUp"事件的语法如下: "组件名称"."事件名称"+= new Syetem.Windows.Froms. KeyEventHandler("事件名称"); 下面是程序中具体实现代码: button1. KeyUp += new Syetem.Windows.Froms. KeyEventHandler(button1_KUp); 下面是响应上面事件的基本结构。
private void button1_KUp ( object sender , Syetem.Windows.Froms. KeyEventArgs e ) { 此处加入响应此事件的代码 } 在C#程序定义"KeyPress"事件的语法如下: "组件名称"."事件名称"+= new Syetem.Windows.Froms. KeyPressEventHandler("事件名称"); 下面是程序中具体实现代码: button1. KeyPress += new Syetem.Windows.Froms. KeyPressEventArgs(button1_KPress); 在完成了事件的定义以后,就要在程序中加入响应此事件的代码,否则程序编译的时候会报错。
下面是响应上面事件的基本结构。
private void button1_KPress ( object sender , Syetem.Windows.Froms. KeyPressEventArgs e ) { 此处加入响应此事件的代码 } 注释:程序中出现的"button1"是定义的一个按钮组件。
( 2).和键盘相关事件中的典型问题处理办法: 和键盘相关的典型问题无非就是判定到底是哪个按键被按动。
通过上面的三个事件都可以完成。
并且在"KeyEventArgs"类中通过了一个属性"KeyCode",可以用他来读取当前按键。
所以就在"KeyUp"或者"KeyDown"事件中处理这个问题。
根据上面这些知识,可以得到用C#编写读取读取按键的程序代码,下面就是此代码(key.cs)和此代码运行后的界面: 图02:用C#读取键盘按键的程序运行界面 key.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 ( ) ; } protected override void Dispose ( bool disposing ) { file://清除程序中使用过的资源 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_KeyUp" this.KeyUp += new KeyEventHandler ( this.Form1_KeyUp ) ; } static void Main ( ) { Application.Run ( new Form1 ( ) ) ; } file://显示你所按动的按键名称 private void Form1_KeyUp ( object sender , KeyEventArgs e ) { MessageBox.Show ( e.KeyCode.ToString ( ) , "您所按动的健为:" ) ; } } 四.总结: 本文介绍了在C#中如何定义和鼠标和键盘相关的事件和在这些事件中一些典型问题的处理办法。
虽然这些知识最为基本,但也最为重要,因为在程序设计中,这些问题和我们打交道的机会最多。
当然和鼠标和键盘相关的事件和问题还有许多,可以参照根据上面. 中,简单,的,键盘,和,鼠标,事件,处理,完整,在,
员工的社保卡上的个人账户如何共济给家人?哪些地区可共享卡上的余额(2025
它是由养老保险、医疗保险、失业保险、工伤保险、生育保险及住房公积金组成。
收藏!社保卡里的个账的钱如何给家人使用?这样操作随新社通小编来了解一下:社保卡怎么给家人用?绑定流程及方法社保卡里的余额给家人使用,主要可以通过以下几种方式实现:一、电子社保卡亲情服务此外,还可以通过电子社保卡的亲情服务功能,为家人提供便捷的电子社保卡签发和应用服务。
具体步骤如下:打开电子社保卡首页,点击右上角“我的”-“亲情服务”。
点击“添加”,验证电子社保卡密码后,阅读并同意添加亲情账户告知书。
输入要开通人的姓名、社保号码、亲情关系,点击“添加亲情账户”并上传身份凭证(小于16岁需同时上传人脸正面照)。
亲情服务绑定对象进行人脸识别操作,认证通过后则开通亲情服务成功。
通过电子社保卡亲情服务,可以帮家人查询个人社保权益单、进行社保待遇资格认证、办理社保网上转移申请等,同时也可以使用社保卡里的余额。
二、社保卡绑定家人通过社保卡的家庭共享功能,可以将社保卡的余额绑定给家人使用。
具体操作步骤如下:社会保险服务个人网页自助办理:登陆个人网页,进入社保业务办理-医疗业务办理-个人账户家庭共享-新增绑定,输入亲属社保电脑号、亲属身份证号及亲属关系,提交保存,即完成绑定。
到社保分局医疗保险窗口申请办理:在社保部门医保现金报销窗口刷卡绑定,刷被使用人的社保卡,并录入使用人的社保卡号。
在定点医院医疗保险办公室办理:在医院医保办,通过“网上医院”刷卡绑定,刷被使用人的卡,并录入使用人的社保卡号。
完成绑定后,家人在就医时就可以使用社保卡里的余额进行支付了。
需要注意的是,社保卡里的余额属于个人所有,给家人使用时需确保符合要求,不得进行违法违规操作。
另外,不同地区的社保卡使用可能有所不同,具体操作方法还需根据当地而定。
什么是社保个人家庭账户共济?怎么理解的?自1998年建立以来,一直实行社会统筹和个人账户相结合的模式,职工医保个人账户资金可用于支付本人就医购药个人负担部分费用。
2021年,将职工医保个人账户使用范围从职工本人,扩大到其参加基本医保的“配偶、父母、子女”,即医保个人账户可共济给家人使用;今年7月,进一步将职工医保个人账户共济亲属的范围由“配偶、父母、子女”,扩大至其参加基本医保的“近亲属”。
根据《中华人民共和国民法典》,配偶、父母、子女、兄弟姐妹、祖父母、外祖父母、孙子女、外孙子女为近亲属。
自1998年建立以来,一直实行社会统筹和个人账户相结合的模式,职工医保个人账户资金可用于支付本人就医购药个人负担部分费用。
2021年,将职工医保个人账户使用范围从职工本人,扩大到其参加基本医保的“配偶、父母、子女”,即医保个人账户可共济给家人使用;今年7月,进一步将职工医保个人账户共济亲属的范围由“配偶、父母、子女”,扩大至其参加基本医保的“近亲属”。
根据《中华人民共和国民法典》,配偶、父母、子女、兄弟姐妹、祖父母、外祖父母、孙子女、外孙子女为近亲属。
目前首批开通个人账户跨省家庭共济的地区(统筹区)有哪些?1、湖北省(襄阳市、黄冈市、咸宁市、随州市、恩施土家族苗族自治州、潜江市)2、河北省(石家庄市、唐山市、秦皇岛市、邯郸市、邢台市、保定市、张家口市、承德市、沧州市、廊坊市、衡水市、辛集市、定州市、雄安新区、省本级)3、重庆市(云阳县)4、江苏省(苏州市)5、安徽省(淮南市)6、河南省(郑州市、信阳市)7、山东省(德州市)8、四川省(省本级、成都市、广安市)9、甘肃省(临夏回族自治州)共31个地区(统筹区)已开通个人账户跨省共济使用。
社保卡激活咋激活的?交社保有什么好处?(25/04/06)
以下是具体步骤:前往银行ATM机:找到您所在城市或地区内支持社保卡激活的银行ATM机。
通常,这些ATM机会有相关标识。
插入社保卡:插入您的社保卡到ATM机中,按照ATM屏幕上的提示进行操作。
设置密码:ATM机可能会要求您设置银行卡的密码,按照要求设置并确认。
选择激活功能:在ATM屏幕上,选择社保卡激活功能。
通常,这个选项会出现在银行卡管理或相关设置中。
按照提示操作:按照ATM屏幕上的提示操作,包括确认个人信息、输入验证码等。
完成激活:按照ATM屏幕上的要求,完成社保卡银行卡的激活过程。
通常,ATM机会打印一张激活成功的凭条。
这种方法的优点是可以在自己选择的时间和地点完成激活,不需要等待银行工作人员的帮助。
不过,您需要找到支持此功能的特定ATM机。
社保卡激活方式2:使用网银或手机银行激活许多银行提供了网银和手机银行应用程序,允许您在线完成社保卡银行卡的激活。
以下是具体步骤:下载和安装银行应用:如果您的银行提供了手机银行应用程序,首先需要下载并安装它。
然后,根据应用的提示进行注册和登录。
选择激活功能:在应用程序中,通常会有一个“银行卡管理”或类似的选项。
选择这个功能,并找到社保卡激活选项。
填写信息:根据应用程序的提示,填写您的社保卡信息,包括卡号、身份证号码等。
设置密码:应用程序可能会要求您设置银行卡的密码,按照要求设置并确认。
验证身份:应用程序可能会要求您进行身份验证,通常通过短信验证码或其他方式。
完成激活:按照应用程序的要求,完成社保卡银行卡的激活过程。
应用程序会发送一条激活成功的消息。
社保卡激活方式3:前往银行柜台激活这是最常见的激活社保卡银行卡的方法。
您可以前往发卡银行的柜台,提交相关材料并填写申请表格,然后银行工作人员会帮助您完成激活过程。
以下是具体步骤:准备所需材料:首先,您需要准备好相关的材料,包括社保卡本身、身份证、银行卡、个人签名等。
确保这些资料齐全。
前往发卡银行柜台:前往发卡银行的柜台,选择一个方便的时间。
最好提前电话咨询一下,确认柜台工作时间。
填写申请表格:在柜台,银行工作人员会提供相关的申请表格,您需要填写必要的信息,包括您的个人信息和银行卡信息。
提交材料:将填写完毕的申请表格和相关材料提交给银行工作人员。
他们会核对信息并进行处理。
设置密码:银行工作人员可能会要求您设置银行卡的密码,以确保安全性。
请牢记您的密码,并不要轻易告诉他人。
完成激活:银行工作人员会进行必要的系统操作,完成社保卡银行卡的激活。
您可以在银行柜台上进行相关查询和操作。
这种方法的优点是操作简单明了,可以获得银行工作人员的直接帮助。
但缺点是需要亲自前往银行柜台,可能需要等待一段时间。
缴纳社保好处:养老保险:是指退休后可以拿养老金。
由单位和职工共同缴费。
养老保险交得多以后领的多,交得久以后领的多。
累积缴纳满15年(中断过也没关系),到达退休年龄可办理退休,领取养老金。
失业保险:如果因公司辞退而失业,可以去相关部门登记,通过审批后可以获得失业证,并领取失业金。
生育保险:提供生育保险,对于女性而言,缴纳社保后,在生育孩子的时候可以享受到生育津贴。
这是对女性生育的一种保险和福利,有助于减轻家庭在生育方面的经济压力。
医疗保险:医疗保险可用于日常的医疗报销,减轻参保人员在就医过程中的经济负担。
同时,医疗保险还提供老年的医保待遇服务,确保参保人员在老年时能够享受到必要的医疗保险。
工伤保险:职工因工作原因受到伤害或者患职业病,且经工伤认定的,享受工伤保险待遇;其中,经劳动能力鉴定丧失劳动能力的,享受伤残待遇。
工伤职工符合领取基本养老金条件的,停发伤残津贴,享受基本养老保险待遇。
基本养老保险待遇低于伤残津贴的,从工伤保险基金中补足差额。
社保缴费年限要求根据《中华人民共和国社会保险法》第十六条的法规,参加基本养老保险的个人,达到法定退休年龄时累计缴费满十五年的,按月领取基本养老金。
这意味着,无论你是从哪一年开始缴纳社保,只要累计缴费年限达到十五年,且在达到法定退休年龄时,就可以按月领取基本养老金。
如果在达到法定退休年龄时,累计缴费年限不足十五年,根据同一法规,你可以选择继续缴费至满十五年,然后按月领取基本养老金。
另外,你也可以选择转入新型农村社会养老保险或者城镇居民社会养老保险,按照法规享受相应的养老保险待遇。
法定退休年龄法定退休年龄是另一个影响退休金领取的重要因素。
目前,法定退休年龄为:男性年满60周岁,女性工人年满50周岁,女性干部年满55周岁。
只有达到这些年龄要求,且社保缴费年限满足条件,才能领取退休金。
退休金领取流程办理退休手续的流程通常包括填写相关退休审批表格,然后由单位将职工的人事档案、退休审批表等资料报当地社保部门进行审批。
审批通过后,职工就可以享受退休人员的身份,并办理离职手续,依法享受相应的退休待遇。
综上所述,从2024年开始交社保,你需要累计缴费满十五年,且在达到法定退休年龄时,才能按月领取基本养老金。
如果缴费年限不足,可以选择继续缴费或者转入其他养老保险。
同时,还需要注意法定退休年龄的要求,以确保在符合条件时能够顺利领取退休金。
温馨提示:本数据仅供参考!具体需以当地有关法规为准!