禁用文本框输入中文,禁用中文输入法的ImeMode方法

之前遇到一个问题,在文本框切换输入法为中文后,使用扫码枪扫码时

会出现 比如条码NH123456 在文本框内会显示   你好23456

这里可以使用输入法编辑器ImeMode枚举属性

如果文本框只能输入英文数字,可以使用ImeMode.Disable,但默认不能拦截复制和粘贴按钮中文字符

如下属性ImeMode.Disable即可无法使用中文输入法只能输入字母数字,但无法禁用Ctrl+V复制粘贴键

            //设置输入法只能输入英文数字,不能输入中文【半角英文-禁用输入法】txtBarcode.ImeMode = ImeMode.Disable;

输入法编辑器IME

IME英文全称Input Method Editors,中文名称输入法编辑器。它是一种程序,能使用户用 101 键的标准键盘输入亚洲语言中数以千计的字符。IME 由将键击转换为拼音和表意字符的引擎和通常用于表意字的字典组成。当用户输入键击时,IME 引擎会尝试确定应将键击转换成哪个(哪些)字符。

新建窗体应用程序ImeFilterDemo,将默认的Form1重命名为FormImeFilter

窗体FormImeFilter的设计器代码如下:

(文件FormImeFilter.Designer.cs)


namespace ImeFilterDemo
{partial class FormImeFilter{/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.IContainer components = null;/// <summary>/// 清理所有正在使用的资源。/// </summary>/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>protected override void Dispose(bool disposing){if (disposing && (components != null)){components.Dispose();}base.Dispose(disposing);}#region Windows 窗体设计器生成的代码/// <summary>/// 设计器支持所需的方法 - 不要修改/// 使用代码编辑器修改此方法的内容。/// </summary>private void InitializeComponent(){this.btnTest = new System.Windows.Forms.Button();this.txtBarcode = new System.Windows.Forms.TextBox();this.rtxtImeMode = new System.Windows.Forms.RichTextBox();this.SuspendLayout();// // btnTest// this.btnTest.Font = new System.Drawing.Font("宋体", 16F);this.btnTest.Location = new System.Drawing.Point(485, 8);this.btnTest.Name = "btnTest";this.btnTest.Size = new System.Drawing.Size(114, 34);this.btnTest.TabIndex = 0;this.btnTest.Text = "测试";this.btnTest.UseVisualStyleBackColor = true;this.btnTest.Click += new System.EventHandler(this.btnTest_Click);// // txtBarcode// this.txtBarcode.Font = new System.Drawing.Font("宋体", 16F);this.txtBarcode.Location = new System.Drawing.Point(3, 12);this.txtBarcode.Name = "txtBarcode";this.txtBarcode.Size = new System.Drawing.Size(447, 32);this.txtBarcode.TabIndex = 1;// // rtxtImeMode// this.rtxtImeMode.Location = new System.Drawing.Point(12, 60);this.rtxtImeMode.Name = "rtxtImeMode";this.rtxtImeMode.Size = new System.Drawing.Size(696, 724);this.rtxtImeMode.TabIndex = 2;this.rtxtImeMode.Text = "";// // FormImeFilter// this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.ClientSize = new System.Drawing.Size(727, 796);this.Controls.Add(this.rtxtImeMode);this.Controls.Add(this.txtBarcode);this.Controls.Add(this.btnTest);this.Name = "FormImeFilter";this.Text = "IME输入法编辑器过滤";this.ResumeLayout(false);this.PerformLayout();}#endregionprivate System.Windows.Forms.Button btnTest;private System.Windows.Forms.TextBox txtBarcode;private System.Windows.Forms.RichTextBox rtxtImeMode;}
}

窗体ImeMode枚举说明相关代码如下:

(文件FormImeFilter.cs)

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 ImeFilterDemo
{public partial class FormImeFilter : Form{public FormImeFilter(){InitializeComponent();//设置输入法只能输入英文数字,不能输入中文【半角英文-禁用输入法】,但无法拦截复制粘贴的中文字符txtBarcode.ImeMode = ImeMode.Disable;rtxtImeMode.ReadOnly = true;}private void btnTest_Click(object sender, EventArgs e){rtxtImeMode.Text = @"IME英文全称Input Method Editors,中文名称输入法编辑器。
它是一种程序,能使用户用 101 键的标准键盘输入亚洲语言中数以千计的字符。
---------------------------------------------------
ImeMode枚举说明:Inherit = -1,
使用父容器的ImeModeNoControl = 0,
半角默认-使用当前输入模式On = 1,
全角中文Off = 2,
半角英文Disable = 3,
半角英文-禁用输入法Hiragana = 4,
全角中文Katakana = 5,
全角中文KatakanaHalf = 6,
半角中文AlphaFull = 7,
全角英文Alpha = 8,
半角英文HangulFull = 9,
全角中文Hangul = 10,
半角中文Close = 11,
半角英文-关闭当前输入法OnHalf = 12
半角中文
---------------------------------------------------
如果只能输入英文数字,可以使用ImeMode.Disable,但默认不能拦截复制和粘贴按钮中文字符";}}
}

测试按钮运行如下:

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

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

相关文章

python界面开发 - Canvas绘制图形

文章目录 1. Tkinter 开发2. Canvas绘制图形2.1. 示例1:绘制矩形、椭圆和多边形2.2. 示例2:绘制柱状图、折线图2.3. 示例3&#xff1a;同时绘制多个画布 3. python图形界面开发3.1. Python图形界面开发——Tkinter3.2. Python图形界面开发——PyQt3.3. Python图形界面开发——w…

LeetCode(力扣)算法题_1261_在受污染的二叉树中查找元素

今天是2024年3月12日&#xff0c;可能是因为今天是植树节的原因&#xff0c;今天的每日一题是二叉树&#x1f64f;&#x1f3fb; 在受污染的二叉树中查找元素 题目描述 给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! n…

js【详解】ajax (含XMLHttpRequest、 同源策略、跨域)

ajax 的核心API – XMLHttpRequest get 请求 // 新建 XMLHttpRequest 对象的实例 const xhr new XMLHttpRequest(); // 发起 get 请求&#xff0c;open 的三个参数为&#xff1a;请求类型&#xff0c;请求地址&#xff0c;是否异步请求&#xff08; true 为异步&#xff0c;f…

探秘Elasticsearch:高性能搜索引擎的原理与应用场景(一)

本系列文章简介&#xff1a; 本系列文章将探秘Elasticsearch的原理与应用场景&#xff0c;从基本原理到具体应用&#xff0c;带领读者全面了解这一强大的搜索引擎。首先我们将介绍Elasticsearch的基本原理&#xff0c;包括分布式架构、倒排索引和分片等核心概念。然后我们将深入…

【Python】shutil库的介绍及用法

目录 1、应用场景 2、shutil-标准库 1、应用场景 Python的shutil库主要用于文件的读取、创建、复制、删除、移动等操作&#xff0c;以下是一些典型的使用场景&#xff1a; 复制文件&#xff1a; 使用shutil.copy(src, dst)可以复制一个文件。源和目标位置都可以是文件也可以…

ChatGPT免费使用网站分享大全,可以直接访问

方法在结尾 介绍&#xff1a; ChatGPT是OpenAI公司开发的一种基于大规模预训练的语言模型。作为GPT-3系列的最新版本&#xff0c;GPT-3.5 Turbo集成了最新的技术改进&#xff0c;具备了更强大的对话生成能力。 GPT-3.5 Turbo是一个自动对话系统&#xff0c;它能够理解和生成…

Linux使用git命令行教程

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 git安装git仓库的创建.git 文件添加文件git 三板斧(add,commit,push)解释拓展git log.gitignore git安装 首先输入git --version看看有没有安装git 如…

Python语言在编程业界的地位——《跟老吕学Python编程》附录资料

Python语言在编程业界的地位——《跟老吕学Python编程》附录资料 ⭐️Python语言在编程业界的地位2024年3月编程语言排行榜&#xff08;TIOBE前十&#xff09; ⭐️Python开发语言开发环境介绍1.**IDLE**2.⭐️PyCharm3.**Anaconda**4.**Jupyter Notebook**5.**Sublime Text** …

操作系统——cpu、内存、缓存介绍

一、内存是什么 内存就是系统资源的代名词&#xff0c;它是其他硬件设备与 CPU 沟通的桥梁&#xff0c; 计算机中的所有程序都在内存中运行。其作用是暂时存放CPU的运算数据&#xff0c;以及与硬盘交换的数据。也是相当于CPU与硬盘沟通的桥梁。只要计算机在运行&#xff0c;CP…

【C++那些事儿】深入理解C++类与对象:从概念到实践(下)| 再谈构造函数(初始化列表)| explicit关键字 | static成员 | 友元

&#x1f4f7; 江池俊&#xff1a;个人主页 &#x1f525; 个人专栏&#xff1a;✅C那些事儿 ✅Linux技术宝典 &#x1f305; 此去关山万里&#xff0c;定不负云起之望 文章目录 1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表1.3 explicit 关键字 2. static成员2.1 概念…

PostgreSQL9.6迁移至16.2

由于更换服务器,需要将原服务器上的应用迁移至新服务器。旧服务器应用环境为.NET4.0+PostgreSQL9.6,新服务器应用环境为.NET4.0+PostgreSQL16.2。 1、备份数据库 在旧服务器中,使用 pg_dump 命令进行备份。 pg_dump -U username -W -F c -f backup_file.pgdump database_…

python基本使用

set1 {1, 2, 3, 4, 56} set2 {"123", "abc", 123}print(set1) # print(set1[1]) print(set2)for s1 in set2:print(s1)pass 更多python 用法 看gitee.com代码库 python-study: python study

进程pid=0是什么意思

在操作系统中&#xff0c;进程是指正在运行中的程序实例。每个进程都有一个唯一的标识符&#xff0c;称为进程ID&#xff08;Process ID&#xff09;&#xff0c;通常简称为PID。 进程的PID是一个非负整数&#xff0c;用来唯一标识该进程。PID0通常被保留给操作系统内核进程&a…

EasyPoi 教程

文章目录 EasyPoi教程文档1. 前传1.1 前言 这个服务即将关闭,文档迁移到 http://www.wupaas.com/ 请大家访问最新网站1.2 Easypoi介绍1.3 使用1.4 测试项目1.5 可能存在的小坑 2. Excel 注解版2.1 Excel导入导出2.2 注解注解介绍ExcelTargetExcelEntityExcelCollectionExcelIgn…

【PTA】L1-026 L1-027(c++) L1-028 L1-029 L1-030 L1-031(C)第五天

目录 L1-026 I Love GPLT 题解&#xff1a; L1-027 出租 题解&#xff08;c&#xff09;&#xff1a; L1-028 判断素数 题解&#xff1a; L1-029 是不是太胖了 题解&#xff1a; L1-030 一帮一 题解&#xff1a; L1-031 到底是不是太胖了 题解&#xff1a; L1-026 I…

智慧城市与数字经济:共创城市新价值

随着科技的快速发展&#xff0c;智慧城市与数字经济已成为推动城市现代化进程的重要引擎。它们不仅提升了城市治理的效率和公共服务水平&#xff0c;还为城市经济发展注入了新的活力。本文旨在探讨智慧城市与数字经济如何共同创造城市新价值&#xff0c;并分析其面临的挑战与发…

R语言复现:如何利用logistic逐步回归进行影响因素分析?

Logistic回归在医学科研、特别是观察性研究领域&#xff0c;无论是现况调查、病例对照研究、还是队列研究中都是大家经常用到的统计方法&#xff0c;而在影响因素研究筛选自变量时&#xff0c;大家习惯性用的比较多的还是先单后多&#xff0c;P&#xff1c;0.05纳入多因素研究&…

Thingsboard组件生命周期:

组件生命周期&#xff1a; onInit():初始化图表&#xff0c;部件加载完后第一个触发的函数&#xff0c;用于部件初始化&#xff0c;触发函数表示部件DOM可使用&#xff0c;可以在此函数处理小部件和初始订阅消息&#xff1a;如为一个按钮增加一个点击事件 onDataUpdated():监听…

【考研学子必看 ★2024考研国家线及调剂策略(2)】

----------------------------------------------------------------------------------------------------- 考研复试科研背景提升班 教你快速深入了解掌握考研复试面试中的常见问题以及注意事项&#xff0c;系统的教你如何在短期内快速提升自己的专业知识水平和编程以及英语…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TimePicker)

时间选择组件&#xff0c;根据指定参数创建选择器&#xff0c;支持选择小时及分钟。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TimePicker(options?: TimePickerOptions)…