WPF TextBox 一些设置技巧

WPF TextBox 一些设置技巧

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

参考:

章节:

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

1、取消输入法

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

2、输入方式设定为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);

3、限定输入字符数

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

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;
        }
}
相关文章
相关标签/搜索