适用于 Visual Basic 6.0 用户的 TextBox 控件
更新:2007 年 11 月
Visual Basic 6.0 中的 TextBox 控件在 Visual Basic 2008 中由 Windows 窗体 TextBox 控件所取代。某些属性、方法、事件和常数的名称是不同的,在某些情况下,行为也有所不同。
概念差异
在 Visual Basic 6.0 中,MaxLength 属性确定可以输入到 TextBox 控件中的字符数。如果尝试以编程方式插入文本,则该文本会在 MaxLength 属性指定的长度处截断。
在 Visual Basic 2008 中,MaxLength 属性的行为不再应用于以编程方式添加的文本。若要复制 Visual Basic 6.0 行为,需要自己截断字符串。
在 Visual Basic 6.0 中,PasswordChar 属性的类型为 String;在 Visual Basic 2008 中,该属性的类型为 Char。
此外,还有许多应用于所有控件的概念差异,包括数据绑定、字体处理、拖放操作、帮助支持等方面的差异。有关更多信息,请参见适用于 Visual Basic 6.0 用户的 Windows 窗体概念。
用于 TextBox 控件的代码更改
下面的示例演示 Visual Basic 6.0 与 Visual Basic 2008 在编码方法方面的差异。
用于在 TextBox 控件中进行搜索的代码更改
下面的代码演示如何在 TextBox 控件中搜索一个字符串并突出显示它。
' Visual Basic 6.0
Private Sub Form_Load ()
Text1.Text = "Two of the peak human experiences"
Text1.Text = Text1.Text & " are good food and classical music."
End Sub
Private Sub Form_Click ()
Dim Search, Where
' Get search string from user.
Search = InputBox("Enter text to be found:")
' Find string in text.
Where = InStr(Text1.Text, Search)
If Where Then
Text1.SetFocus
Text1.SelStart = Where - 1
Text1.SelLength = Len(Search)
Else
MsgBox "String not found."
End If
End Sub
' Visual Basic
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
TextBox1.Text = "Two of the peak human experiences are "
TextBox1.Text = TextBox1.Text & "good food and classical music."
End Sub
Private Sub Form1_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles Me.Click
Dim Search As String
Dim Where As String
' Get search string from user.
Search = InputBox("Enter text to be found:")
' Find string in text.
Where = InStr(TextBox1.Text, Search)
If Where Then
TextBox1.Focus()
TextBox1.SelectionStart = Where - 1
TextBox1.SelectionLength = Len(Search)
Else
MsgBox("String not found.")
End If
End Sub
用于限制 TextBox 控件中的字符数的代码更改
下面的代码演示如何使用 MaxLength 属性来指定最大字符数。
' Visual Basic 6.0
Private Sub Form_Load()
Text1.MaxLength = 5
End Sub
Private Sub SetText()
' Only the first five characters will be displayed.
Text1.Text = "Hello World"
End Sub
' Visual Basic
Private Sub Form1_Load2(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
TextBox1.MaxLength = 5
End Sub
Private Sub SetText()
' Truncate the string to equal MaxLength.
TextBox1.Text = Strings.Left("Hello World", TextBox1.MaxLength)
End Sub
TextBox 控件的属性、方法和事件的等效项
下表列出了 Visual Basic 6.0 属性、方法和事件,以及它们的 Visual Basic 2008 等效项。具有相同的名称和行为的属性、方法和事件未予列出。除非另有说明,否则所有的 Visual Basic 2008 枚举都映射到 System.Windows.Forms 命名空间。
此表提供相关主题的链接,这些主题对行为之间的差异进行说明。如果 Visual Basic 2008 中没有直接等效项,则提供指向介绍其他替代项的主题的链接。
属性
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
||
---|---|---|---|
Alignment |
|||
Appearance |
新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。 |
||
BackColor |
|
||
Container |
|||
DataChanged DataField DataFormat DataMember DataSource |
新的实现。有关更多信息,请参见适用于 Visual Basic 6.0 用户的数据访问。 |
||
DragIcon DragMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
Height |
|
||
HelpContextID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
HWnd |
|||
Index |
新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。 |
||
Left |
|
||
LinkItem LinkMode LinkTimeOut LinkTopic |
新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
||
Locked |
|||
MouseIcon |
新的实现。有关更多信息,请参见无法设置自定义 MousePointer。 |
||
MousePointer |
有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 |
||
OLEDragMode OLEDropMode |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
Parent |
FindForm 方法。 |
||
SelLength |
|||
SelStart |
|||
SelText |
|||
ToolTipText |
ToolTip 组件。 有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)。 |
||
Top |
|
||
WhatsThisHelpID |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
Width |
|
方法
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
||
---|---|---|---|
Drag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
LinkExecute LinkPoke LinkRequest LinkSend |
新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
||
Move |
|
||
OLEDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
||
SetFocus |
|||
ShowWhatsThis |
新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 |
||
ZOrder |
BringToFront 或 SendToBack 函数 |
事件
Visual Basic 6.0 |
Visual Basic 2008 等效项 |
---|---|
Change |
|
DblClick |
|
DragDrop DragOver |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
GotFocus |
|
LinkClose LinkError LinkNotify LinkOpen |
新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 |
LostFocus |
|
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
Validate |
升级说明
当 Visual Basic 6.0 应用程序升级到 Visual Basic 2008 时,所有 TextBox 控件都升级为 Windows 窗体 TextBox 控件,属性、方法和事件升级为其各自的等效项。在可能存在行为差异的情况下,向代码中插入升级注释。