微软中文输入法带来的一点小坑,导致arcgispro输入中文异常

有同事反映,在Pro中新建要素类时,没办法设定名称为"新建",会自己变成不完整的拼音。

查看了一下,确有此事。

在相同的界面里还有其他输入框,却没有这种情况。

研究了一下,发现是输入法引发的连锁问题。

有问题的输入框,是加了数据验证的。因为pro中创建要素类时,不允许名称中带特殊字符,防止引发系统路径异常。

而微软中文输入法,恰恰踩了这个雷。

写一段测试代码,创建一个wpf程序,监控textbox的TextChanged事件。

c# 复制代码
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    Debug.WriteLine((sender as TextBox)?.Text);
}

当使用微软中文输入法,输入xinjian+空格的时候,输入如下

复制代码
x
xi
xin
xin'j
xin'ji
xin'jia
xin'jian
新建
新建

而使用搜狗输入法的时候,输入如下

复制代码
新建
新建

所以,微软输入法在键盘键入过程中,也触发了TextChanged事件,导致了单引号的引入,触发了数据验证的过程,所以出现了这个问题。

最好的办法,还是换输入法吧。(#.#)

相关推荐
我是唐青枫3 小时前
深入理解 C#.NET Interlocked.Increment:原子操作的核心
c#·.net
OliverH-yishuihan3 小时前
在win10上借助WSL用VS2019开发跨平台项目实例
linux·c++·windows
yue0083 小时前
C# 字符串倒序
开发语言·c#
南知意-5 小时前
GitHub 6K Star! 一款完全免费的音乐播放器,爽听VIP歌曲!
linux·windows·开源·github·开源软件·mac
ejjdhdjdjdjdjjsl5 小时前
C#类型转换与异常处理全解析
开发语言·c#
allanGold6 小时前
【virtualbox】【windows】已有虚拟机存储容量调整方法
windows·virtualbox
小宇的天下7 小时前
Calibre eqDRC(方程化 DRC)核心技术解析与实战指南(14-1)
数据库·windows·microsoft
我是唐青枫7 小时前
深入理解 C#.NET Parallel:并行编程的正确打开方式
开发语言·c#·.net
yue0087 小时前
C# ASCII和字符串相互转换
c#
TypingLearn8 小时前
Perigon.CLI 10.0 重磅发布【AspNetCore开发模板和辅助工具】
c#·.net·aspnetcore