在Visual Basic中文本框(TextBox)是最常用的控件熟练运用文本框是开发出高质量的应用程序的基础笔者在从事应用程序开发中摸索出有关文本框的应用技巧写出来与VB爱好者共享 设置只读文本框 有些时候在窗口显示一段信息但又不希望用户去改变它怎样实现文本的只读呢?首先我们可以利用标签框(label)的只读属性以标签来代替文本框以实现只读属性但也可以用小程序实现真正的文本框的只读 Sub Text_KeyPress (keyascii As Integer) keyascii = End Sub 或者也可以用sendkey方法使文本框失去焦点如以下程序 Sub Text_KeyDown (KeyCode As Integer Shift As Integer) SendKeys {tab} End Sub 或者直接设置控件的属性来实现具体操作如下 设置TextEnabled=True这样设置后Text无法获得焦点 设置TextLocked=True这样设置后Text可以获得焦点 限定文本框的输入内容和格式 以下程序可以实现限定文本框只能输入数字 Private Sub Text_KeyPress(KeyAscii As Integer) If KeyAscii < Asc() Or KeyAscii > Asc() Then KeyAscii = MsgBox 请输入数字 End If End Sub 若想限定文本框输入格式可以使用VB的FORMAT函数也可以使用专业版的屏蔽控件(Masked Edit)通过设定屏蔽控件的Mask属性可以对文本框的输入格式作精确控制 为TextBox创建快捷键 VB规定添加在窗体上的控件均在其Tabindex属性中记载其加载顺序程序运行时焦点按Tabindex属性规定的顺序在控件间跳转而为了简化操作可VB中为任何具有caption的属性的控制创建快捷键这通过caption属性中在想作为快捷键的字母前加&号实现但有一个问题值得注意而类似文本框这样的控件无caption这样的属性这时可将标签与文本框同时使用为lable创建快捷键标签Tabindex属性设置比文本框小又因为label不能接收按点焦点会自动跳至文本框这相当于为文本框创建了快捷键具体步骤如下 ()首先绘制标签再绘制文本框或随意绘制各种控制将标签Tabindex属性设置比文本框小 ()在标签的caption属性中使用&号设定快捷键 这样就相当于为文本框设定了快捷键当你按下标签框的快捷键时焦点就会跳至文本框上 在设计时实现文本框换行 对于文本框在设计属性窗口不能输入换行符但可以再程序执行时用代码来换行即使用ASCII字符的和如下列小程序就可将两行文本放入文本框 Sub form_load( ) NL=chr()+chr() texttext=my name is& NL &liu qiang End sub 创建口令文本框 创建口令文本框可用设置属性的方法也可以通过调用WINDOWS的API应用函数接口来实现首先文本框的属性Passwordchar和maxlength可用来设置口令框其中Passwordchar指定文本框显示的字符如指定*则在文本框内显示*Maxlength确定文本框中能输入几个字符超过Maxlength以后文本框发出警告声不能接收更多的字符若使用WINDOWS应用函数接口可用GetWindowLongSetWindowsLong和SendMessage等接口函数来实现有兴趣的读者可查阅Windows API函数手册或VB的联机帮助文件这里就不一一赘述了 |