VB.NET中的TextBox控件详解
TextBox组件(文本框组件)是一种常用的,也是比较容易掌握的组件。应用程序主要使用它来接收使用者于输入文字信息。在前面内容中已经或多或少的接触到TextBox组件。本节就来详细探讨一下Visual Basic .Net中TextBox组件的使用方法。
一.TextBox组件、TextBox类:
当我们使用Visual Basic .Net集成开发环境开发应用程序时,在从【工具箱】的【Windows窗体】选项卡中向Form1的设计窗体拖入一个TextBox组件的后,我们可能并没有感觉到即使时这样一个简单的操作,Visual Basic .Net都做了很多幕后工作。主要工作和步骤如下:
1. 首先实例化System.Windows.Forms.TextBox类,并根据拖动到窗体的位置和形状分别设定TextBox实例的各个属性。
2. 我们看到的设计窗体,其实是Form1类的一个实例,而Form1类首先是从System.Windows.Forms.Form类继承而来,Form1类中的成员根据使用者往窗体中拖入的组件不同而不同。各个成员通过Add或AddRange方法加入到Form1中,这样拖入的组件才能够显示在设计窗体上。
以上这些都完全不同于以前Visual Basic。通过上述步骤, 我们不难得到TextBox组件和TextBox类之间的关系,TextBox组件是命名空间System.Windows.Forms中的TextBox类的实例,在从【工具箱】的【Windows窗体】选项卡中拖入窗体的任一组件,都是.Net框架类库——.Net FrameWork SDK中封装的某一个类的实例。通过上述步骤也不难看出,Visual Basic .Net的确才是真正的面向对象(OOP)的开发语言。
二.TextBox类的成员:
TextBox组件使用虽然比较简单,但TextBox类的构成成员却是非常的丰富。在一般性的编程中,主要涉及到三类:属性、方法和事件。表01、表02和表03分别是TextBox类的常用属性、方法和事件及其简单说明。
属性 | 说明 |
AcceptsReturn | 指示在多行TextBox组件中按ENTER键时,是在组件中创建一行新文本还是激活窗体的默认按钮。 |
AcceptsTab | 该值指示在多行文本框组件中按TAB键时,是否在组件中键入一个TAB字符,而不是按选项卡的顺序将焦点移动到下一个组件。 |
AllowDrop | 获取或设置一个值,该值指示组件是否可以接受用户拖放到它上面的数据。 |
Anchor | 获取或设置组件的哪些边缘锚定到其容器边缘。 |
BackColor | 获取或设置组件的背景色。 |
BackgroundImage | 获取或设置在组件中显示的背景图像。 |
BorderStyle | 获取或设置文本框组件的边框类型。 |
Bottom | 获取组件的下边缘与其容器的工作区的上边缘之间的距离。 |
CanFocus | 获取一个值,该值指示组件是否可以接收焦点。 |
CanSelect | 获取一个值,该值指示是否可以选中组件。 |
CanUndo | 获取一个值,该值指示用户在文本框组件中能否撤消前一操作。 |
CharacterCasing | 获取或设置TextBox组件是否在字符键入时修改其大小写格式。 |
ContextMenu | 获取或设置与组件关联的快捷菜单。 |
Reated | 获取一个值,该值指示组件是否已经创建。 |
Cursor | 获取或设置当鼠标指针位于组件上时显示的光标。 |
DataBindings | 为该组件获取数据绑定。 |
Dock | 获取或设置组件停靠到父容器的哪一个边缘。 |
Enabled | 获取或设置一个值,该值指示组件是否可以对用户交互作出响应。 |
Focused | 获取一个值,该值指示组件是否有输入焦点。 |
Font | 获取或设置组件显示的文字的字体。 |
ForeColor | 获取或设置组件的前景色。 |
MaxLength | 获取或设置用户可以在文本框组件中最多键入的字符数。 |
Multiline | TRUE/FALSE,该值指示它是否为多行文本框组件。 |
PasswordChar | 获取或设置字符,该字符用于屏蔽单行 |
ScrollBars | 获取或设置哪些滚动条应出现在多行TextBox 组件中。 |
Text | 获取或设置文本框中的当前文本。 |
TextAlign | 设置文本框内文本得对齐方式 |
TextLength | 获取组件中文本的长度。 |
表01:TextBox类的常用属性及其说明
方法 | 说明 |
AppendText | 向文本框的当前文本追加文本。 |
Clear | 从文本框控件中清除所有文本。 |
ClearUndo | 从该文本框的撤消缓冲区中清除关于最近操作的信息。 |
Copy | 将文本框中的当前选定内容复制到剪贴板。 |
Cut | 将文本框中的当前选定内容移动到剪贴板中。 |
DoDragDrop | 开始拖放操作。 |
Focus | 为控件设置输入焦点。 |
GetChildAtPoint | 检索位于指定坐标处的子控件。 |
GetNextControl | 按照子控件的Tab键顺序向前或向后检索下一个控件。 |
Hide | 对用户隐藏控件。 |
Paste | 用剪贴板的内容替换文本框中的当前选定内容。 |
PointToClient | 将指定屏幕点的位置计算成工作区坐标。 |
PointToScreen | 将指定工作区点的位置计算成屏幕坐标。 |
ResetBindings | 将DataBindings属性重置为其默认值。 |
Select | 选择控件中的文本。 |
SelectAll | 选定文本框中的所有文本。 |
SelectNextControl | 激活下一个控件。 |
Show | 向用户显示控件。 |
SuspendLayout | 临时挂起控件的布局逻辑。 |
Undo | 撤消文本框中的上一个编辑操作。 |
事件 | 说明 |
Click | 在单击文本框时发生。 |
CursorChanged | 当 Cursor 属性的值更改时发生。 |
DoubleClick | 在双击控件时发生。 |
DragDrop | 在完成拖放操作时发生。 |
DragEnter | 在将对象拖入控件的边界时发生。 |
DragLeave | 在将对象拖出控件的边界时发生。 |
DragOver | 在将对象拖到控件的边界上发生。 |
EnabledChanged Enabled | 属性值更改后发生。 |
Enter | 进入控件时发生。 |
GiveFeedback | 在执行拖动操作期间发生。 |
GotFocus | 在控件接收焦点时发生。 |
KeyDown | 在控件有焦点的情况下按下键时发生。 |
KeyPress | 在控件有焦点的情况下按下键时发生。 |
KeyUp | 在控件有焦点的情况下释放键时发生。 |
Leave | 在输入焦点离开控件时发生。 |
LostFocus | 当控件失去焦点时发生。 |
MouseDown | 当鼠标指针位于控件上并按下鼠标键时发生。 |
MouseEnter | 在鼠标指针进入控件时发生。 |
MouseHover | 在鼠标指针悬停在控件上时发生。 |
MouseLeave | 在鼠标指针离开控件时发生。 |
MouseMove | 在鼠标指针移到控件上时发生。 |
MouseUp | 在鼠标指针在控件上并释放鼠标键时发生。 |
MouseWheel | 在移动鼠标轮并且控件有焦点时发生。 |
Move | 在移动控件时发生。 |
Paint | 在重绘控件时发生。 |
Resize | 在调整控件大小时发生。 |
当然TextBox类除了上述的属性、方法和事件,还有很多属性、方法和事件,和很多受保护的方法和受保护的属性,由于它们使用的几率较少和篇幅所限,就不能一一介绍了,感兴趣的朋友可以参阅相关资料。
三.掌握TextBox组件的基本用法:
由于TextBox类的成员实在太丰富,一个示例要想介绍上述所有的方法、属性和事件是不可能。在下面介绍的示例中,将突出介绍在Visual Basic .Net集成开发环境下通过对设定不同的属性值实现三种常见的TextBox组件式样,以及TextBox组件的方法的调用方法和在Visual Basic .Net集成开发环境中如何加入TextBox组件不同事件对应的处理代码。让各位更加熟悉TextBox类和Visual Basic.Net开发环境。
下面是TextBox示例的具体实现步骤:
1. 启动Visual Studio .Net。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3. 将【项目类型】设置为【Visual Basic项目】。
4. 将【模板】设置为【Windows应用程序】。
5. 在【名称】文本框中输入【TextBox组件】。
6. 在【位置】的文本框中输入【E:/VS.NET项目】,然后单击【确定】按钮,这样在“E:/VS.NET项目”目录中就产生了名称为“TextBox组件”的文件夹,并在里面创建了名称为“TextBox组件”的项目文件。
7. 把Visual Studio .Net的当前窗口切换到【Form1.vb(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应操作:
三个Label组件。
三个TextBox组件,分别为TextBox1、TextBox2和TextBox3。
8. 按照表04中数值来设定设定组件的主要属性,请注意TextBox组件中的属性设定值:
表04:【TextBox组件】项目窗体中各组件的主要属性设定数值表 |
按照表04各值设定后的TextBox组件三种常用的式样也就产生了,具体如图01所示:
图01:程序设计时TextBox组件三种常见使用方法 |
这三种式样就是单行的TextBox组件、多行的TextBox组件和用以输入类似密码数据的TextBox组件。
9. 为TextBox1组件添加事件和事件的处理代码,此次添加的事件的名称是Leave,当TextBox1组件失去焦点时触发此事件。添加TextBox1组件的其他事件也可仿照下面的处理方法。下面是利用Visual Basic .Net在【TextBox组件】项目中添加TextBox1组件的Leave事件和添加Leave事件的处理代码的具体步骤:
首先把Visual Basic .Net的当前窗口切换到Form1.vb的代码编辑界面。然后在如图02所示的选择框中选择TextBox2:
图02:选择TextBox组件 |
之后,在图03所示的选择框中选择“Leave”:
图03:选取Leave事件 |
在选择“Leave”之后,Visual Basic .Net会自动在Form1.vb中产生TextBox1的Leave事件。
在Leave事件的事件处理代码区添加下列代码,下面代码调用了TextBox2组件的“Clear”方法并且显示一个TextBox1组件失去焦点的提示框:
TextBox2.Clear ( ) '清除TextBox2组件的显示内容 MsgBox ( "失去焦点!") '弹出提示框 |
至此【TextBox组件】项目的全部工作就完成了,图04是程序编译后运行界面。
图04:【TextBox项目】的运行界面 |
四.总结:
虽然【TextBox组件】项目已经完成了,但是关于TextBox组件的话题远没有结束,通过表01、表02和表03以及那些没有列出的属性、方法和事件都无不表明,在Visual Basic .Net要精通一个在Visual Basic中非常基本的组件的使用方法都是很有难度的。本章虽然介绍的TextBox组件,其实对其他大多数组件也都具有参考价值,这些组件的常用属性、方法和事件的意义也大都和TextBox组件差不多。