1.4 文本编辑工具-文本框
文本框也称编辑框,既可以输入、编辑文本也可以显示文本,是最常用的数据输入输出控件。利用文本框,用户可以创建一个类似“记事本”的文本编辑器。
【例】复制文本框中所选内容。

图 文本框应用举例
设计程序使得单击窗体时,程序会自动将第一个文本框的前8个字符选定并显示在第二个文本框中。
⑴ 创建界面。在窗体上添加2个文本框Text1、Text2。其中,Text1的Text属性设置为:“文本框是一个文本编辑区域,用户可在该区域输入、编辑、修改和显示正文内容,即创建一个简单的文本编辑器”。
⑵ 设置属性。属性设置见下表
对象 | 属性 | 属性值 | 说明 |
| Text1 | MultiLine | True | 允许多行显示 |
ScrollBars | 2——Vertical | 只有垂直滚动条 | |
| Text2 | MultiLine | True | 允许多行显示 |
ScrollBars | 3——Both | 同时加水平和垂直滚动 |
⑶ 编写代码:
Private Sub Form_Click()
Text1.SelStart=0 '将Text1中的第1字符设为要选择文本的起点
Text1.SelLength=8 '将选择文本的长度定为8个字符
Text2.Text=Text1.SelText '将被选择的字符串存入Text2中
End Sub
1.4.1.属性
⑴ 文本框的常用属性有:Name、Height、Width、Top、Left、Enabled、Visible、FontName、FontSize、FontBold、FontItalic、FontUnderline和Alingment等。
⑵ Text属性
该属性可以返回或设置文本框中的文本信息。其取值为字符串型,默认最大长度为2048个字符。
⑶ Maxlength属性
该属性用来设置文本框中能够输入的正文内容的最大长度。其取值为整数类型,默认设置为0。
0:任意长字符串,但不能超过32K。
非零整数:文本框中可容纳的字符数。
需要注意的是,在VB中字符长度以字为单位,一个西文字符与一个汉字都是一个字,长度为1。
⑷ MultiLine属性
该属性用来返回或设置文本框中是否可以输入多行文本。其取值为逻辑型,默认设置为False。
True:文本框可以输入或显示多行文本,同时具有文字处理器的自动换行功能,即输入的正文超出文本框时会自动换行。按Ctrl+Enter键可插入一空行。
False:只能输入单行文本。
⑸ ScrollBars属性
该属性用来设置文本框是否带有滚动条,其取值为整数类型,默认设置为0。
0—None:无滚动条。
1—Horizontal:具有水平滚动条。
2—Vertical:具有垂直滚动条。
3—Both:同时具有水平和垂直滚动条。
需要注意的是,只有当MultiLine属性为True时,ScrollBars属性才会有效。当加入了水平滚动条以后,文本框内的自动换行功能会失效,只有按Enter键才能回车换行。
⑹ Locked属性
该属性用来设置文本框在运行时是否可以被编辑,其取值为逻辑型,默认值为False。
False:可以编辑。
True:文本框中的文本不可以被编辑,此时文本框的作用相当于标签。
⑺PasswordChar属性
该属性为字符型,用于将Text属性值显示为指定字符。在默认状态下,该属性的值为空字符串,当用户在文本框中输入字符时,输入的字符可以在文本框中显示出来。如果把该属性值设为某一字符,则当用户在文本框中输入字符时,文本框中显示的不是输入的字符,而是该属性的设置值。例如,当PasswordChar属性设置为“*”时,用户在文本框中输入“jsj”,在文本框中显示的是“***”。需要注意的是,该属性不改变Text属性值,只改变文本的显示结果。
⑻ SelStart、SelLength和SelText属性
用来返回程序运行时用户选中文本的相关信息,这三个属性只可以在语句中调用,不出现在属性窗口。
SelStart:整型,返回选中文本的开始位置,第一个字符的位置是0。
SelLength:整型,返回选中文本的长度。
SelText:字符型,返回选中文本的内容。
设置了SelStart和SelLength属性后,系统会自动将选定的文本内容保存到SelText中。
1.4.2.事件
文本框控件支持Change、KeyPress和LostFocus等多个事件。
⑴ Change事件
当用户输入内容或当程序修改Text属性值时会触发该事件。用户每输入或删除一个字符就会触发一次Change事件。例如用户键入“Hello”时,会发生5次Change事件。
⑵ LostFocus事件
当用户按下制表键(Tab)或单击其它对象,使当前文本框失去焦点时,则触发该事件。Change事件和LostFocus事件都可以用来检查Text属性值,但后者更为有效。
1.4.3.方法
文本框的常用方法:SetFocus。
格式:[对象名.]SetFocus
功能:该方法可以把焦点移到指定对象中。当在窗体上建立了多个文本框后,可以用该方法把光标置于所需要的文本框上。例如,当单击命令按钮时,将光标置于第一个文本框中,需要添加如下代码:
Private SubCommand1_Click()
Text1.SetFocus '让文本框Text1获取输入的焦点
End Sub
说明:该方法还适用于可以获取焦点的其它对象,如,CheckBox、CommandButton和ListBox等控件。
============================================================
案例分析:案例1.4.doc(下载附件 24.5 KB)-文本框的change事件
======================================================================================

