TX Text Control .NET for Windows Forms TextField 类提供了丰富的功能供用户使用,例如通过TextField.Editable 和 TextField.Deleteable 属性控制 TextField 是否可以改变。
在一些用例中,TextField 功能需要扩展。例如发票或者报价单中的自动校验功能。或者只允许输入数字、字母的 TextField。
下面这个例子展示了怎样实现固定长度的 TextField。如果输入值不够长,将以“.”或者“X”填充。
下面分步介绍实现过程:
1.继承 TextField :
public class SpecialTextField : TXTextControl.TextField 复制代码
2.构造函数由四个参数组成:
publ
ic SpecialTextField(TXTextControl.TextControl textControl,string text,int maxLength,char fillChar) 复制代码
分别为:
textControl:目标 TextControl,我们需要在这个参数上添加事件。
text :textField 初始化字符串。
maxLength:textField 最大长度。
fillChar:填充字符。
给 textControl 添加以下两个事件:
_specialTX.TextFieldLeft += new TXTextControl.TextFieldEventHandler(_specialTX_TextFieldLeft); _specialTX.TextFieldChanged += new TXTextControl.TextFieldEventHandler(_specialTX_TextFieldChanged); 复制代码
以上事件在光标离开 TextField 或 TextField 文本值更改时触发,在以上事件中,调用以下方法:
private void CleanTextField(TXTextControl.TextField TextField) { if (TextField.Length < _specialMaxLength) { TextField.Text += new String(_specialFillChar, _specialMaxLength - TextField.Text.Length); } else if (TextField.Length > _specialMaxLength) { TextField.Text = TextField.Text.Remove(TextField.Text.Length - 1, 1); } } 复制代码
环境:TX Text Control 17.0 && VS 2010
- SpecialTextField.zip (40.54 K, 下载次数:26)