Visual Basic.NET+SQL Server全程指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 TextBox控件

TextBox(文本框)控件是在应用程序中经常要用到的控件之一,主要用来接收用户输入的文本或显示文本,实现用户与程序的交互。

4.1.1 TextBox控件简介

TextBox控件通常用于可编辑文本,不过也可使其成为只读控件。文本框可以显示多个行,对文本换行使其符合控件的大小以及添加基本的格式设置。TextBox控件为在该控件中显示的或输入的文本提供单个格式化样式。若要显示多种类型的带格式文本,可使用RichTextBox控件。

控件显示的文本包含在Text属性中。默认情况下,最多可在一个文本框中输入2048个字符。如果将MultiLine属性设置为True,则最多可输入32 KB的文本。Text属性可以在设计时使用“属性”窗口设置,在运行时用代码设置,或者在运行时通过用户输入来设置。可以在运行时通过读取Text属性来检索文本框的当前内容。下面就来看一下TextBox控件的常见用法。

4.1.2 设置文本框的文本

文本框中的文本内容是通过它的Text属性来设置的,它的Text属性就是用来获取或设置文本框中的当前文本。通过读Text属性能在运行时检索TextBox的当前内容。

默认情况下,Windows窗体TextBox控件显示单行文本,并且不显示滚动条。如果文本长度超过了可用的空间,则只有一部分文本可见。可以通过将MultiLine属性、WordWrap属性和ScrollBars属性设置为适当的值来更改默认行为。

(1)将MultiLine属性设置为True,可以使TextBox在运行时接收或显示多行文本。如果WordWrap为True(默认),则控件中的文本将显示为一个或多个段落;否则它将显示为一个列表,其中的某些行可能在控件边缘处被剪裁。

(2)ScrollBars属性可设置为表4-3中的值。

表4-3 ScrollBars属性值

ScrollBars属性的默认值为None,即不显示任何滚动条。

(3)WordWrap属性可设置为表4-4中的值。

表4-4 WordWrap属性值

自动按字换行省去用户在行尾插入换行符的麻烦。当一行文本已超过TextBox所能显示的长度时,它会自动将文本折回到下一行显示。在设计时,不能在“属性”窗口输入换行符。在过程中,可以通过插入一个回车加上换行符(ANSI字符13和0)来产生一个行断点。

注意

如果将MultiLine属性设为False,则文本框的宽度就无法改变了,这个宽度由字体的大小决定。

4.1.3 创建密码文本框

密码框是一个文本框的特殊却常用的形式,它允许在用户键入字符串时显示星号之类的占位符。VB.NET 2005提供PasswordChar和MaxLengh这两个文本框属性,大大简化了密码文本框的创建。

(1)将TextBox控件的PasswordChar属性设置为某个特定字符。

PasswordChar属性指定在文本框中显示的字符。例如,如果希望在密码框中显示星号,则可在“属性”窗口中将PasswordChar属性指定为“*”,如图4-1所示,则在运行的时候,无论用户在文本框中输入什么字符,文本框中都显示星号。

图4-1 文本框的PasswordChar属性

(2)设置MaxLength属性(可选)。此属性确定可在文本框中键入多少字符。如果超过了最大长度,系统会发出声响,且文本框不再接收任何字符。示例如下:

        Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
            ' 设置空文本
            TextBox1.Text = ""
            ' 设置TextBox1文本框为密码文本框
            TextBox1.PasswordChar = "*"
            ' 设置文本框可键入的最大字符数
            TextBox1.MaxLength = 14
        End Sub

4.1.4 创建只读文本框

有时编程人员不希望文本框内容被用户编辑,这时可以将文本框转换成只读控件。即将TextBox控件的ReadOnly属性设置为True。将此属性设置为True后,用户仍可滚动并突出显示文本框中的文本,但不允许进行更改。“复制”命令在文本框中仍然起作用,但“剪切”和“粘贴”命令均无效。

注意

ReadOnly属性仅在运行时影响“用户交互”。编程人员仍可以在运行时通过更改文本框的Text属性,或者以编程方式更改文本框的内容。

4.1.5 以编程方式选择文本

在Windows窗体TextBox控件中,可以以编程方式选择文本。例如,如果创建一个可在文本中搜索特定字符串的函数,就可以选择TextBox文本,将找到的字符串的位置醒目地显示给用户。

(1)将SelectionStart属性设置为要选择的文本的开始位置。

SelectionStart属性是一个数字,指示文本字符串内的插入点,值为0表示最左边的位置。如果将SelectionStart属性设置为等于或大于文本框内的字符数的值,则插入点被放在最后一个字符后。

(2)将SelectionLength属性设置为要选择的文本的长度。

SelectionLength属性是一个设置插入点宽度的数值。如果将SelectionLength设置为大于0的数,则会选择该数目的字符,开始位置是当前插入点。

(3)(可选)通过SelectedText属性访问选定的文本。