winform 烦人的键盘事件 再遇上 chart 上下左右 失灵

news/2025/9/28 17:44:37/文章来源:https://www.cnblogs.com/xiaobao6652/p/19117270

AI 用多了会失去思考耐心

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;
using System.Windows.Forms.DataVisualization.Charting;namespace TestForm
{public partial class UserControl2 : UserControl{public UserControl2(){InitializeComponent();// 启用 UserControl 自身的键盘事件this.SetStyle(ControlStyles.StandardClick | ControlStyles.StandardDoubleClick | ControlStyles.UserMouse, true);this.SetStyle(ControlStyles.Selectable, true);this.TabStop = true;Chart ct = new Chart();ct.PreviewKeyDown += OnPreviewKeyDown;this.Controls.Add(ct);// 订阅 UserControl 自身的事件this.KeyDown += ChildControl_KeyDown;this.KeyUp += ChildControl_KeyUp;this.PreviewKeyDown += OnPreviewKeyDown;// 为所有现有控件订阅事件SubscribeToChildControls(this);// 为新添加的控件订阅事件this.ControlAdded += (s, e) => SubscribeToControl(e.Control);}private void OnPreviewKeyDown(object sender, PreviewKeyDownEventArgs e){switch (e.KeyCode){case Keys.Up:case Keys.Down:case Keys.Left:case Keys.Right:case Keys.Space:e.IsInputKey = true;break;}}private void SubscribeToChildControls(Control parent){foreach (Control control in parent.Controls){SubscribeToControl(control);SubscribeToChildControls(control); // 递归订阅子控件
            }}private void SubscribeToControl(Control control){control.KeyDown += ChildControl_KeyDown;control.KeyUp += ChildControl_KeyUp;control.PreviewKeyDown += OnPreviewKeyDown;}private void ChildControl_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e){// 将空格键标记为输入键,这样KeyUp事件才会触发if (e.KeyCode == Keys.Space){e.IsInputKey = true;}}private void ChildControl_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Space){Console.WriteLine("空格键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }if (e.KeyCode == Keys.Up){Console.WriteLine("上键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }if (e.KeyCode == Keys.Down){Console.WriteLine("下键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }if (e.KeyCode == Keys.Left){Console.WriteLine("左键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }if (e.KeyCode == Keys.Right){Console.WriteLine("右键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }if (e.KeyCode == Keys.Enter){Console.WriteLine("回车键按下 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }}private void ChildControl_KeyUp(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Space){Console.WriteLine("空格键释放 - 时间: " + DateTime.Now.ToString("HH:mm:ss.fff"));e.Handled = true; // 阻止默认处理
            }}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年铝板品牌最新权威推荐排行榜:1-7 系主流铝板企业 TOP5 精选及工艺品质测评指南1060/1100/3003/3004/5052/6061/6063/6082铝板厂家推荐

在工业制造、建筑装饰、交通运输等领域高速发展的当下,铝板作为核心基础材料,其品质直接决定终端产品的稳定性与使用寿命。当前市场铝板品牌繁杂,部分企业因原材料把控松散、生产工艺落后,导致产品尺寸偏差大、表面…

大型语言模型(LLM)分类与特性全解析 - 教程

大型语言模型(LLM)分类与特性全解析 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

一只手都数的过来

“一只手都数的过来”。那么一只手能数多少个数呢?假设我们一只手有 \(5\) 根手指头,那么最多只能数 \(5\) 个数吗?每只手指头有两种状态——伸出或者不伸出,实际上,可以数出 \(2^5=32\) 个数。那么为什么我们平常…

环保网站源码创建全国文明城市主题班会教案

一次配置Docker环境的完整记录 Docker环境搭建报错与解决报错一报错二报错三 Docker环境搭建 本节介绍了一次配置docker环境的完整记录: 编写Dockerfile文件: FROM pytorch/pytorch:1.10.0-cuda11.3-cudnn8-develRUN rm /etc/apt/sources.list.d/cuda.l…

做防水广告在哪个网站最好邢台市建设工程质量监督网站

r e p l a c e W i t h ‘ 可以将输入文档替换为指定的文档。该操作可以替换输入文档的所有字段,包括 ‘ i d ‘ 字段。使用 ‘ replaceWith可以将输入文档替换为指定的文档。该操作可以替换输入文档的所有字段,包括_id字段。使用 replaceWith‘可以将输…

做网站和做阿里巴巴wordpress 自动安装 插件

前言: 在以前传统Spring去做Java开发中,大量 XML文件存在项目中,导致项目变得笨重繁琐、开发和部署效率也降低。前几年推出的SpringBoot 提升了Spring 开发者体验。集成了大量常用第三方库配置、零配置开箱即用、让大家更加专注于业务逻辑。同…

网站设计开发环境网站主机设置方法

为了精准、稳定地提取滚动轴承故障特征,提出了基于变分模态分解和奇异值分解的特征提取方法,采用标准模糊C均值聚类(fuzzy C means clustering, FCM)进行故障识 别。对同一负荷下的已知故障信号进行变分模态分解,利用 奇异值分解技术进一步提…

如何自己建设网站进贤城乡规划建设局网站

文章目录 关于 getpass基本使用语法说明其它 关于 getpass getpass 是 Python 自带标准库 Python 官方文档 - getpass https://docs.python.org/3/library/getpass.html 基本使用 我们在看视频教程中,老师如果不想在代码中暴露 token、密码之类的信息&#xff0c…

做英文网站价格wordpress转移typecho

飞书PPT链接 简介 该文档介绍了几种深度学习模型,特别是那些在图像合成和处理方面有显著应用的模型。文档内容涉及变分自编码器(VAE)、去噪扩散概率模型(DDPM)、稳定扩散(Stable Diffusion)、…

360建网站好不好?外贸公司 网站

只需要两个html元素和一个css变换,我就能创造出我自己的闪光效果。让我们来实现它!呈现光泽图片下面就是这张addy在他博客上使用的图片:比我需要的要大一些,但你可以把它裁剪一些。注意:左边的那张是纯白色的&#xff…

C语言 - 左移、右移运算符

C语言中的左移和右移运算符 左移(<<)和右移(>>)运算符是C语言中对二进制位进行移动的操作符。让我用最简单的方式解释给你听。 1. 基本概念:把二进制位想象成排队的人 想象二进制数就像一排人,每个人代表…

2025 最新权威推荐:防火皮革厂家 排行榜,B1 级阻燃 + E0 级环保实力品牌甄选B1级/建筑/审讯室/邮轮级防火皮革厂家推荐

随着 2025 年阻燃建材市场规模预计突破 120 亿元,防火皮革在司法、建筑、高端家居等领域的需求呈爆发式增长,但行业乱象仍亟待破解:部分产品阻燃仅达 B2 级,无法满足公检法等特殊场所要求;环保指标残缺,有害挥发…

格雷厄姆指数

什么是格雷厄姆指数?什么是格雷厄姆指数? 如何计算? 如何使用确认股市的 底部和顶部区域? 用全部A股的股票收益率,去除以中国的十年期国 债收益率,得出的结果 就是格雷厄姆指数。例如:东方财富全A指数 的市盈率…

reLeetCode 热题 100- 42 接雨水 - MKT

reLeetCode 热题 100- 42 接雨水 class Solution { public:/*关键 左边界 height[zuo]>height[zuo+1]右边界 1 是否比height[you]》height[zuo] break;2 不是最后一个 height[you]>height[you-1] &&am…

2025 防撞软包生产厂家权威推荐排行榜:E0 级环保 + B1 级阻燃,公检法 / 幼儿园场景最新优选厂家谈话室/留置病房/教育中心/体育馆防撞软包厂家推荐

防撞软包作为公检法审讯室、幼儿园等场景的核心安全保障材料,近年来市场需求持续扩张,但行业乱象却愈发凸显:部分产品环保等级仅达 E2 级,甲醛等有害物挥发超标,长期使用危害人体健康;阻燃性能不足 B1 级,难以通…

企业门户网站服务器c 做网站

变量初始值为A&#xff0c;修改成B,通过AtomicReference的compareAndSet去改变。就会先比较原来的值是否为A&#xff0c;如果为A则修改成功&#xff0c;否则修改失败。 但是如果在这个过程中&#xff0c;A变成D然后又变成A, 那么再调用compareAndSet去改变也能修改成功B。这个…

ppt成品免费下载的网站网站建设旗帜条幅

几张图看懂列式存储 转载于:https://www.cnblogs.com/apeway/p/10870211.html

ssti模板注入

ssti模板注入 1. SSTI漏洞 SSTI,即服务器端模板注入漏洞; ​ 在渲染模板时,代码不严谨并且没有对用户的输入做严格过滤,将导致SSTI漏洞,造成任意文件读取和RCE命令执行; 2. SSTI类型判断绿线表示执行成功,…

2025 年章丘二手磁选机厂家最新权威推荐排行榜:TOP 级企业设备全型号覆盖与五年质保深度解析二手立环磁选机/二手华特磁选机/章丘二手磁选机厂家推荐

在矿产加工与原料提纯行业,磁选机作为核心分选设备,其品质与适配性直接决定生产效率和产品纯度。当前二手磁选机交易市场乱象丛生,不少商家设备型号单一,无法满足不同产能需求;品牌选择受限,采购灵活性低;更有甚…

中位数定理

https://codeforces.com/contest/2149/problem/D点击查看代码 #include <bits/stdc++.h> #define int long long using namespace std;int f(const vector<int> x){if(x.empty())return 0;int pos = (int)…