适用于 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

TextAlign

Appearance

新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)

BackColor

BackColor

说明:

颜色在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见颜色处理(针对 Visual Basic 6.0 用户)

Container

Parent

DataChanged

DataField

DataFormat

DataMember

DataSource

新的实现。有关更多信息,请参见适用于 Visual Basic 6.0 用户的数据访问

DragIcon

DragMode

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

说明:

字体在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见 Font 对象(针对 Visual Basic 6.0 用户)

ForeColor

ForeColor

说明:

颜色在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见颜色处理(针对 Visual Basic 6.0 用户)

Height

Height, Size

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

HelpContextID

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)

HWnd

Handle

Index

新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)

Left

Left

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

LinkItem

LinkMode

LinkTimeOut

LinkTopic

新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)

Locked

ReadOnly

MouseIcon

新的实现。有关更多信息,请参见无法设置自定义 MousePointer

MousePointer

Cursor

有关常数的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)

OLEDragMode

OLEDropMode

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Parent

FindForm 方法。

SelLength

SelectionLength

SelStart

SelectionStart

SelText

SelectedText

ToolTipText

ToolTip 组件。

有关更多信息,请参见工具提示支持(针对 Visual Basic 6.0 用户)

Top

Top

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

WhatsThisHelpID

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)

Width

Width, Size

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

方法

Visual Basic 6.0

Visual Basic 2008 等效项

Drag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

LinkExecute

LinkPoke

LinkRequest

LinkSend

新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)

Move

SetBounds

说明:

坐标在 Visual Basic 2008 中以不同方式处理。有关更多信息,请参见坐标系统(针对 Visual Basic 6.0 用户)

OLEDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

SetFocus

Focus

ShowWhatsThis

新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)

ZOrder

BringToFrontSendToBack 函数

事件

Visual Basic 6.0

Visual Basic 2008 等效项

Change

TextChanged

DblClick

DoubleClick

DragDrop

DragOver

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

GotFocus

Enter

LinkClose

LinkError

LinkNotify

LinkOpen

新的实现。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)

Validate

Validating

升级说明

当 Visual Basic 6.0 应用程序升级到 Visual Basic 2008 时,所有 TextBox 控件都升级为 Windows 窗体 TextBox 控件,属性、方法和事件升级为其各自的等效项。在可能存在行为差异的情况下,向代码中插入升级注释。

请参见

参考

TextBox 控件概述(Windows 窗体)