Visual Basic 6.0 中的 RichTextBox 控件在 Visual Basic 2008 中由 Windows 窗体 RichTextBox 控件所取代。某些属性、方法、事件和常量的名称是不同的,在某些情况下,行为也有所不同。

AutoVerbMenu 属性
在 Visual Basic 6.0 中,RichTextBox 控件的 AutoVerbMenu 属性用于显示具有一组标准命令的上下文菜单。
在 Visual Basic 2008 中,不再存在 AutoVerbMenu 属性。要为 RichTextBox 控件提供一个上下文菜单,请使用 ContextMenuStrip 组件。有关更多信息,请参见 AutoVerbMenu 属性未升级。
DisableNoScroll 属性
在 Visual Basic 6.0 中,DisableNoScroll 属性确定:在 RichTextBox 控件中,当文本行太少而不需要垂直滚动或字符太少而不需要水平滚动时,是否让滚动条以不可用的形式出现。
In Visual Basic 2008, the DisableNoScroll property no longer exists.可以使用 ScrollBars 属性强制滚动条出现,当不能强制它以不可用的形式出现。
FileName 属性和 LoadFile 方法
在 Visual Basic 6.0 中,FileName 属性或 LoadFile 方法可用于将一个 .rtf 文件或文本文件加载到 RichTextBox 控件中。
在 Visual Basic 2008 中,只有 LoadFile 方法可用;不能在设计时分配文件。
SelPrint 方法
在 Visual Basic 6.0 中,RichTextBox 控件的 SelPrint 方法可用于打印该控件的内容。它带有一个参数 hDC,用于指定设备的设备上下文。
在 Visual Basic 2008 中,不再存在 SelPrint 方法,设备上下文也不再用于打印。RichTextBox 控件不提供打印其内容的方法。但是,您可以扩展 RichTextBox 类以使用 EM_FORMATRANGE 消息。然后,可以将 RichTextBox 的内容发送到输出设备,如打印机。有关更多信息,请参见 SelPrint 属性未升级。
SelTabCount 属性
在 Visual Basic 6.0 中,SelTabCount 属性确定在选定的段落中或在这些段落中的插入点后的 Tab 位置数。
在 Visual Basic 2008 中,不再存在 SelTabCount 属性,它被 SelectionTabs 属性的 Length 参数 (SelectionTabs.Length) 替换。
Span 方法
在 Visual Basic 6.0 中,RichTextBox 控件的 Span 方法可以用来基于一组指定的字符选择文本范围。
在 Visual Basic 2008 中,不再存在 Span 方法。可以使用带有 characterSet() 参数的 Find 方法查找指定的字符,然后使用 SelectedText 属性来选择范围。
Upto 方法
在 Visual Basic 6.0 中,RichTextBox 控件的 Upto 方法可以用于将插入点向前移动到一组指定的字符中的第一个字符(但不包括)。
在 Visual Basic 2008 中,不再存在 Upto 方法。可以使用带有 characterSet() 参数的 Find 方法查找指定的字符,然后使用 SelectionStart 属性移动插入点。
其他差异
此外,还有大量适用于所有控件的概念差异,包括数据绑定、字体处理、拖放功能、帮助支持等方面的差异。有关更多信息,请参见适用于 Visual Basic 6.0 用户的 Windows 窗体概念。

下面的示例演示 Visual Basic 6.0 与 Visual Basic 2008 在编码方法方面的差异。
用于在 RichTextBox 控件中进行搜索的代码更改
下面的代码演示在 RichTextBox 控件中如何从插入点到句子末尾进行搜索并突出显示它。该示例需要一个在其 Text 属性中输入了一个或多个句子的 RichTextBox 控件,同时还需要一个 Button 控件。由于是从按钮的 Click 事件中调用代码,所以应将 RichTextBox 的 HideSelection 属性设置为 False;否则突出显示将不可见。
' Visual Basic 6.0' Make sure that HideSelection is set to False.Private Sub Command1_Click() RichTextBox1.Span ".?!", True, TrueEnd Sub
' Visual Basic' Make sure that HideSelection is set to False.Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _System.EventArgs) Handles Button1.Click Dim endChars() As Char = New Char() {".", "!", "?"} Dim intEnd As Integer intEnd = RichTextBox1.Find(endChars, RichTextBox1.SelectionStart) RichTextBox1.SelectionLength = intEnd - RichTextBox1.SelectionStartEnd Sub

下表列出了 Visual Basic 6.0 属性、方法和事件,以及它们的 Visual Basic 2008 等效项。具有相同的名称和行为的属性、方法和事件未予列出。除非另有说明,否则所有的 Visual Basic 2008 枚举都映射到 System.Windows.Forms 命名空间。
此表提供相关主题的链接,这些主题对行为之间的差异进行说明。如果 Visual Basic 2008 中没有直接等效项,则提供指向介绍其他替代项的主题的链接。
属性
Visual Basic 6.0 | Visual Basic 2008 等效项 | ||
---|---|---|---|
Appearance | 新的实现。有关更多信息,请参见 Appearance 和 BorderStyle 属性(针对 Visual Basic 6.0 用户)。 | ||
AutoVerbMenu | 新的实现。有关更多信息,请参见 AutoVerbMenu 属性未升级。 | ||
BackColor |
| ||
Container | |||
DataBindings DataChanged DataField DataFormat DataMember DataSource | 新的实现。有关更多信息,请参见适用于 Visual Basic 6.0 用户的数据访问。 | ||
DisableNoScroll | 新的实现。 | ||
DragIcon DragMode | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
FileName | LoadFile 方法 | ||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
| ||
ForeColor |
| ||
Height |
| ||
HelpContextID | 新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 | ||
HWnd | |||
Index | 新的实现。有关更多信息,请参见控件数组(针对 Visual Basic 6.0 用户)。 | ||
Left |
| ||
MouseIcon | 新的实现。有关更多信息,请参见无法设置自定义 MousePointer。 | ||
MousePointer | 有关常量的列表,请参见 MousePointer(针对 Visual Basic 6.0 用户)。 | ||
OLEDragMode OLEDropMode | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
Parent | FindForm 方法 | ||
SelAlignment | |||
SelBold | |||
SelBullet | |||
SelCharOffset | |||
SelColor | |||
SelFontName | |||
SelFontSize | |||
SelHangingIndent | |||
SelIndent | |||
SelItalic | |||
SelLength | |||
SelProtected | |||
SelRightIndent | |||
SelRTF | |||
SelStart | |||
SelStrikethru | |||
SelTabCount | SelectionTabs.Length | ||
SelTabs | |||
SelText | |||
SelUnderline | |||
TextRTF | |||
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 用户)。 | ||
GetLineFromChar | |||
LinkExecute LinkPoke LinkRequest LinkSend | 无等效项。有关更多信息,请参见动态数据交换(针对 Visual Basic 6.0 用户)。 | ||
Move |
| ||
OLEDrag | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 | ||
SelPrint | 新的实现。有关更多信息,请参见 SelPrint 属性未升级。 | ||
SetFocus | |||
ShowWhatsThis | 新的实现。有关更多信息,请参见帮助支持(针对 Visual Basic 6.0 用户)。 | ||
Span | 无直接等效项。使用带有 characterSet 参数的Find 方法。 | ||
Upto | 无直接等效项。使用带有 characterSet 参数的Find 方法。 | ||
ZOrder | BringToFront 或 SendToBack 函数 |
事件
Visual Basic 6.0 | Visual Basic 2008 等效项 |
---|---|
Change | |
DblClick | |
DragDrop DragOver | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
GotFocus | |
LostFocus | |
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag | 新的实现。有关更多信息,请参见拖放(针对 Visual Basic 6.0 用户)。 |
SelChange | |
Validate |

转自MSDN