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;
        }
}

原文地址:https://www.cnblogs.com/leemano/p/10799542.html

时间: 2024-10-10 18:26:09

WPF TextBox 一些设置技巧的相关文章

【转】WPF中的Binding技巧(二)

WPF中的Binding技巧(二)   接上篇, 我们来看一看Elementname,Source,RelativeSource 三种绑定的方式 1.ElementName顾名思义就是根据Ui元素的Name来进行绑定: 例子: <Window x:Name="MainWindow"> <Grid>               <Button Background="{Binding ElementName=MainWindow, Path=Bac

0x3f3f3f3f...编程中无穷大常量的设置技巧

转自 http://aikilis.tk/ 如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值.如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7fffffff并不是一个好的选择. 很多时候我们并不只是单纯拿无穷大来作比较,而是会运算后再做比较,例如在大部分最短路径算法中都会使用的松弛操作:if (d[u]

WPF TextBox 实现CornerRadius圆角

<Grid Background="Gray" Height="230" Width="229"> <Border CornerRadius="15" BorderBrush="White" BorderThickness="5" Margin="12,23,20,174" Background="White"> <T

WPF TextBox提示文字设定

WPF TextBox框提示文字,鼠标划入提示文字消失 <TextBox Width="248" VerticalContentAlignment="Center" BorderThickness="0" CaretBrush="White"> <TextBox.Resources> <VisualBrush x:Key="HintText" AlignmentX="

浅析网站结构优化中导航系统的设置技巧

站长们,你们对于网站结构优化中导航系统的设置知多少呢?导航系统的设置的好坏对于网站结构的优化有着相当大的影响.咱们的导航做的目标越清晰,越符合用户的体验度.人性化一点来说,网站导航就跟汽车导航的作用差不多,指明目标,所以我们要从两个方面考虑如何导航系统. 从用户的角度来看,第一点用户可能会从任何一个内页进入到咱们的网站,导航系统要做的就是随时清除的让用户知道自己在网站的哪个位置.因为点开多个网站的内页后,用户自己也已经晕了,不知道自己是怎么点进这个页面的.所以,我们在设计的时候最好统一页面的风格

【转】WPF中Binding的技巧(一)

WPF中Binding的技巧(一) 在WPF应用的开发过程中Binding是一个非常重要的部分. 在实际开发过程中Binding的不同种写法达到的效果相同但事实是存在很大区别的. 这里将实际中碰到过的问题做下汇总记录和理解. 1. source = {binding} 和source = {binding RelativeSource={RelativeSource self},Path=DataContext}效果相同 理解:{binding} 不设定明确的绑定的source,这样bindin

wpf TextBox 验证

以下内容适合像我一样的新手!有什么好的建议!还望大家指点! 效果图如下: 第一步:先 新建文件夹 CheckValueLibrary  在新建一个类 PhoneNumberCheck 用于验证 此类继承 ValidationRule 类! PhoneNumberCheck  类代码如下(正则表达式有错,可借鉴方法): <span style="font-size:14px;">namespace Demo1.CheckValueLibrary { // public cla

Navicat for MySQL 选项设置技巧详解

Navicat for MySQL给用户提供了完整的用户自定义设置界面选项,从主菜单选择工具->选项,但是很多的用户第一次接触,对这方面如何设置不是很了解,本教程将详细的给大家介绍介绍Navicat for MySQL 选项设置技巧详解.希望可以帮到大家. Navicat for MySQL 常规选项 Navicat 常规选项主要包括以下内容: 窗口在工作列显示:每打开一个新窗口时会自动显示在 Windows 任务栏.停用该选项后,当退出 Navicat 主窗口时,所有窗口(例如:表.查询)将会

Qt开发设置技巧

Qt在开发桌面客户端方面有很多方面做的很好,功能很强大,在免费并能跨平台的开发库里,做到了可以很好的满足一般客户端开发的需求.Qt库不光在界面上,而且在XML解析,JSON数据解析,网络通讯等各个功能点,都已经具备了好用的开发类库.Qt尤其在图形化处理方面有着自己很不一般的体验,和功能. 下面我结合我的开发经历,对Qt的一些功能点和用法进行一些小结,希望给开发者提供一些有用的帮助,共同学习. (一) 自定义窗口的开发. 我们在开发项目中,经常需要开发一个视觉设计人员给定好的窗口,我们用Qt开发这