WPF TextBox 一些设置技巧

Posted leemano

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF TextBox 一些设置技巧相关的知识,希望对你有一定的参考价值。

WPF TextBox 一些设置技巧

运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-01

参考:

章节:

  1. 取消输入法
  2. 输入方式设定为Overwrite
  3. 限定输入字符数

一、取消输入法

TextBox txbx=new TextBox();
InputMethod.SetIsInputMethodEnabled(txbx, false);//关掉输入法

二、输入方式设定为Overwrite

//把输入改成 overwrite 模式
// fetch TextEditor from myTextBox
TextBox txbx=new TextBox();
PropertyInfo textEditorProperty = typeof(TextBox).GetProperty("TextEditor", BindingFlags.NonPublic | BindingFlags.Instance);
object textEditor = textEditorProperty.GetValue(txbx, null);
// set _OvertypeMode on the TextEditor
PropertyInfo overtypeModeProperty = textEditor.GetType().GetProperty("_OvertypeMode", BindingFlags.NonPublic | BindingFlags.Instance);
overtypeModeProperty.SetValue(textEditor, true, null);

三、限定输入字符数

在 KeyDown 事件里利用 SelectionStart 来设定,下面例子是限定2个字符

private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
        TextBox txbx = sender as TextBox;
        //只能有两个字符
        if (txbx.SelectionStart < 2)
        {
            e.Handled = false;//false才能通过
        }
        else
        {
            e.Handled = true;
        }
}

以上是关于WPF TextBox 一些设置技巧的主要内容,如果未能解决你的问题,请参考以下文章

wpf如何设置 textbox文本垂直居中对齐

WPF 在代码隐藏中设置 TextBox 属性

根据WPF中的TextBox Text属性启用/禁用按钮?

WPF 用TextBox和Calendar自定义可以选择年月的日期选择控件

WPF 用TextBox和Calendar自定义可以选择年月的日期选择控件

WPF:如何设置或禁用 TextBox 的默认 ContextMenu