有时输入只能让用户输入英文,那么如何设置输入只能英文? 做法就是禁用 IME 输入法,此时输入就只能是英文或数字

咱开始之前,首先在 xaml 写一个 TextBox 控件,给他一个名字,用于后续在后台 xaml.cs 代码使用

  <TextBox x:Name="TxtTextBox"></TextBox>

然后在 MainWindow 构造使用 System.Windows.Input.InputMethod 可以设置 IME 和输入是否可以是中文,如以下代码,传入的是 false 则禁用 IME 输入法,不能输入中文

var txt = TxtTextBox;
System.Windows.Input.InputMethod.SetIsInputMethodEnabled(txt, false);

设置IME关掉,可以如下代码,上面的代码和下面代码效果差不多

var txt = TxtTextBox;
InputMethod.SetPreferredImeState(txt, InputMethodState.Off);

当然也可以在页面写 XAML 附加属性,如下面代码

<TextBox InputMethod.IsInputMethodEnabled="False"></TextBox>

注意用户可以粘贴中文,可以检测用户是否输入有中文的方式处理用户的粘贴输入

C# 切换中英文输入法 - 唐宋元明清2188 - 博客园


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/WPF-%E8%AE%BE%E7%BD%AE%E8%BE%93%E5%85%A5%E5%8F%AA%E8%83%BD%E8%8B%B1%E6%96%87.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利