C#(二十八)之C#鼠标事件、键盘事件

简介: 鼠标事件分为两种:EventArgs、MouseEventArgs。键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。

QQ图片20220426145933.png


今天看下鼠标事件、键盘事件。


1:鼠标事件分为两种:


EventArgs:MouseEnter/MouseLeave 等


MouseEventArgs:MouseDoubleClick、MouseDown、MouseUp、MouseHover、MouseMove。


private void button1_MouseEnter(object sender, EventArgs e)
        {
            label1.Text = "按钮进入事件";
        }
        private void button1_MouseLeave(object sender, EventArgs e)
        {
            label1.Text = "按钮离开事件";
        }
        private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            label2.Text = "双击窗体事件";
        }
        private void button2_MouseDown(object sender, MouseEventArgs e)
        {
            label2.Text = "按下按钮2";
        }
        private void button2_MouseUp(object sender, MouseEventArgs e)
        {
            label2.Text = "松开按钮2";
        }
        private void button2_MouseHover(object sender, EventArgs e)
        {
            label3.Text = "鼠标在按钮2上停留了一段时间";
        }
        private void button2_MouseMove(object sender, MouseEventArgs e)
        {
            label4.Text = "鼠标在按钮2上经过";
        }

 

2:键盘事件


KeyEventArgs:


KeyPressEventArgs:


KeyPress:必须是焦点在控件上时才好用。(按下并松开发生)


KeyDown:是在按下按键时发生


KeyUp:是在抬起按键时发生


private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            label1.Text += e.KeyChar;
        }

 

键盘事件与鼠标事件类似,这里只是看了一部分概念,相关案例以后遇到再补充。

 

测试使用代码:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace mianbanGc
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_MouseEnter(object sender, EventArgs e)
        {
            label1.Text = "按钮进入事件";
        }
        private void button1_MouseLeave(object sender, EventArgs e)
        {
            label1.Text = "按钮离开事件";
        }
        private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            label2.Text = "双击窗体事件";
        }
        private void button2_MouseDown(object sender, MouseEventArgs e)
        {
            label2.Text = "按下按钮2";
        }
        private void button2_MouseUp(object sender, MouseEventArgs e)
        {
            label2.Text = "松开按钮2";
        }
        private void button2_MouseHover(object sender, EventArgs e)
        {
            label3.Text = "鼠标在按钮2上停留了一段时间";
        }
        private void button2_MouseMove(object sender, MouseEventArgs e)
        {
            label4.Text = "鼠标在按钮2上经过";
        }
        public string str = "";
        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            str += e.KeyChar;
            label5.Text += e.KeyChar;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void label5_Click(object sender, EventArgs e)
        {
        }
    }
}


目录
相关文章
|
11月前
|
网络协议 应用服务中间件 网络安全
免费IP地址SSL证书在哪里申请
免费IP地址SSL证书的申请需通过特定的证书颁发机构(CA)或平台。JoySSL提供针对IP地址的免费SSL证书,Let's Encrypt则主要面向网站。申请步骤包括:访问官网注册账号(JoySSL需填写注册码230922),选择证书类型,填写信息并验证IP地址所有权,提交审核,下载部署证书。注意事项:确保IP地址有效、服务器支持HTTPS,并定期续签证书以保持有效性。
|
C# Windows IDE
WPF入门实战:零基础快速搭建第一个应用程序,让你的开发之旅更上一层楼!
【8月更文挑战第31天】在软件开发领域,WPF(Windows Presentation Foundation)是一种流行的图形界面技术,用于创建桌面应用程序。本文详细介绍如何快速搭建首个WPF应用,包括安装.NET Framework和Visual Studio、理解基础概念、创建新项目、设计界面、添加逻辑及运行调试等关键步骤,帮助初学者顺利入门并完成简单应用的开发。
713 0
|
前端开发 JavaScript
HBuilder实现App资源在线升级更新
这篇文章介绍了使用HBuilder实现App资源在线升级的流程,包括获取线上和本地版本号对比、检查更新、下载安装包、静默或用户触发安装以及重启应用。关键代码展示了如何比较版本、下载wgt文件及安装更新。注释提到仅同名文件被覆盖,manifest.json变化需整包升级。提供了一个DEMO下载链接。
620 0
|
Ubuntu 测试技术 Linux
warp工具
本文档介绍了在Ubuntu 20.04上使用Cloudflare Warp代理网络以解决访问限制问题。
736 0
|
机器学习/深度学习 监控 PyTorch
PointNet:基于Python和PyTorch的3D分割的实用指南
PointNet:基于Python和PyTorch的3D分割的实用指南
|
Web App开发 前端开发 测试技术
【Web API系列】使用异步剪贴板API(async clipboard)的图像的编程复制和粘贴
【Web API系列】使用异步剪贴板API(async clipboard)的图像的编程复制和粘贴
448 1
|
人工智能 机器人 图形学
2023 年最好的36款 AI 生产力工具(上)
本文主要展示了36 款 AI 应用,可以帮助读者更快、更好地工作。每个人都在与ChatGPT交流,从完整的博客文章到特定代码行的功能都在询问。其结果令人惊叹。虽然我们仍在探索如何将这项技术纳入我们的工作流程中,但明显的是,人工智能工具正在改变游戏规则。尽管ChatGPT是目前最受欢迎的,但它远不是首款进入市场的人工智能应用程序。
1644 1
|
JavaScript 前端开发
【Javascript保姆级教程】if判断语句的三种形式
【Javascript保姆级教程】if判断语句的三种形式
403 0
|
安全 测试技术
不会写测试用例咋办?牢记这5点,你也能写出高逼格案例
不会写测试用例咋办?牢记这5点,你也能写出高逼格案例
459 1
|
Java Android开发 Windows
成功解决eclipse启动报错 Error:Could not create the Java Virtual Machine Error:A fatal exception has occurred
成功解决eclipse启动报错 Error:Could not create the Java Virtual Machine Error:A fatal exception has occurred