Visual Basic 6.0 使用者可用的 RichTextBox 控制項

更新:2007 年 11 月

Visual Basic 6.0 的 RichTextBox 控制項在 Visual Basic 2008 中會以 Windows Form RichTextBox 控制項取代。有些屬性、方法、事件及常數的名稱會改變,而且在某些情況下,行為方面也會有差異。

概念上的差異

AutoVerbMenu 屬性

在 Visual Basic 6.0 中,是使用 RichTextBox 控制項的 AutoVerbMenu 屬性顯示內容功能表,配合一組標準命令。

在 Visual Basic 2008 中,AutoVerbMenu 屬性已不存在。若要提供 RichTextBox 控制項的內容功能表,請使用 ContextMenuStrip 元件。如需詳細資訊,請參閱 AutoVerbMenu 屬性未升級

DisableNoScroll 屬性

在 Visual Basic 6.0 中,DisableNoScroll 屬性會在 RichTextBox 控制項中的文字行太少而無法垂直捲動時,或是字元太少而無法水平捲動時,判斷捲軸是否顯示為無法使用。

在 Visual Basic 2008 中,DisableNoScroll 屬性已不存在。您可以使用 ScrollBars 屬性,強迫捲軸出現,但不能讓它顯示為無法使用。

FileName 屬性和 LoadFile 方法

在 Visual Basic 6.0 中,可以使用 FileName 屬性或 LoadFile 方法,將 .rtf 或文字檔載入 RichTextBox 控制項之中。

在 Visual Basic 2008 中,只能夠使用 LoadFile 方法,您不能在設計階段指定檔案。

SelPrint 方法

在 Visual Basic 6.0 中,可以使用 RichTextBox 控制項的 SelPrint 方法,列印控制項的內容。它會使用單一引數 hDC,此引數指定裝置的裝置內容 (Device Context,DC)。

Visual Basic 2008 中 SelPrint 方法已不存在,而裝置內容也不再用於列印。RichTextBox 控制項不會提供列印內容的方法。但是,您可以擴充 RichTextBox 類別以使用 EM_FORMATRANGE 訊息。接著,將 RichTextBox 的內容傳送至輸出裝置,例如印表機。如需詳細資訊,請參閱 SelPrint 屬性未升級

SelTabCount 屬性

在 Visual Basic 6.0 中,SelTabCount 屬性可決定已選取段落或插入點之後的段落中,定位點位置的數目。

在 Visual Basic 2008 中 SelTabCount 屬性已不存在,而是由 SelectionTabs 屬性的 Length 參數取代 (SelectionTabs.Length)。

Span 方法

在 Visual Basic 6.0 中,RichTextBox 控制項的 Span 方法可以用來根據一組指定的字元,選取文字範圍。

在 Visual Basic 2008 中,Span 方法已不存在。您可以使用 Find 方法,配合 characterSet() 引數,找出指定的字元,然後使用 SelectedText 屬性來選取範圍。

Upto 方法

在 Visual Basic 6.0 中,RichTextBox 控制項的 Upto 方法可以用來將插入點上移至 (但不包括) 一組指定字元之成員的第一個字元。

在 Visual Basic 2008 中,Upto 方法已不存在。您可以使用 Find 方法,配合 characterSet() 引數,找出指定的字元,然後使用 SelectionStart 屬性來移動插入點。

其他差異

此外,還有許多概念不同處,適用於所有控制項,包括資料繫結、字型處理、拖放功能、說明支援等方面的差別。如需詳細資訊,請參閱 Visual Basic 6.0 使用者的 Windows Form 概念

RichTextBox 控制項的程式碼變更

下列範例顯示 Visual Basic 6.0 與 Visual Basic 2008 之間的程式撰寫技巧差異。

在 RichTextBox 控制項中搜尋的程式碼變更

下列程式碼範例會示範如何在 RichTextBox 控制項中,從插入點搜尋到句子結尾,然後加以反白顯示。此範例需要 RichTextBox 控制項,並已將一個或多個句子輸入 Text 屬性之中,而且需要 Button 控制項。由於程式碼是從按鈕的 Click 事件進行呼叫,RichTextBox 的 HideSelection 屬性應該設定為 False,否則看不見反白顯示。

' Visual Basic 6.0
' Make sure that HideSelection is set to False.
Private Sub Command1_Click()
    RichTextBox1.Span ".?!", True, True
End 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.SelectionStart
End Sub

RichTextBox 控制項屬性、方法和事件的對等用法

下表列出 Visual Basic 6.0 的屬性、方法和事件,以及其在 Visual Basic 2008 的對等用法。並未列出具有相同名稱和行為的屬性、方法和事件。除非另外註明,否則所有 Visual Basic 2008 列舉型別 (Enumeration) 都會對應到 System.Windows.Forms 命名空間 (Namespace)。

此表提供說明行為差異的主題連結。若 Visual Basic 2008 中沒有直接的對等用法,則提供連結至替代的主題。

屬性

Visual Basic 6.0

Visual Basic 2008 對等用法

Appearance

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 Appearance 和 BorderStyle 屬性

AutoVerbMenu

新實作,如需詳細資訊,請參閱 AutoVerbMenu 屬性未升級

BackColor

BackColor

注意事項:

在 Visual Basic 2008 中會以不同方式處理色彩。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的色彩處理方式

Container

Parent

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

Font

注意事項:

在 Visual Basic 2008 中會以不同方式處理字型。如需詳細資訊,請參閱 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 使用者可用的座標系統

MouseIcon

新實作,如需詳細資訊,請參閱無法設定自訂 MousePointer

MousePointer

Cursor

如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer

OLEDragMode

OLEDropMode

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

Parent

FindForm 方法

SelAlignment

SelectionAlignment

SelBold

SelectionFont

SelBullet

SelectionBullet

SelCharOffset

SelectionCharOffset

SelColor

SelectionColor

SelFontName

SelectionFont

SelFontSize

SelectionFont

SelHangingIndent

SelectionHangingIndent

SelIndent

SelectionIndent

SelItalic

SelectionFont

SelLength

SelectionLength

SelProtected

SelectionProtected

SelRightIndent

SelectionRightIndent

SelRTF

SelectedRtf

SelStart

SelectionStart

SelStrikethru

SelectionFont

SelTabCount

SelectionTabs.Length

SelTabs

SelectionTabs

SelText

SelectedText

SelUnderline

SelectionFont

TextRTF

Rtf

ToolTipText

ToolTip 元件

如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的 ToolTip 支援

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 使用者可用的拖放動作

GetLineFromChar

GetLineFromCharIndex

LinkExecute

LinkPoke

LinkRequest

LinkSend

沒有對等用法。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的動態資料交換

Move

SetBounds

注意事項:

在 Visual Basic 2008 中會以不同方式處理座標。如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的座標系統

OLEDrag

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

SelPrint

新實作,如需詳細資訊,請參閱 SelPrint 屬性未升級

SetFocus

Focus

ShowWhatsThis

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的說明支援

Span

沒有直接的對等用法。使用 Find 方法,配合 characterSet 引數。

Upto

沒有直接的對等用法。使用 Find 方法,配合 characterSet 引數。

ZOrder

BringToFrontSendToBack 函式

事件

Visual Basic 6.0

Visual Basic 2008 對等用法

Change

TextChanged

DblClick

DoubleClick

DragDrop

DragOver

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

GotFocus

Enter

LostFocus

Leave

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

新實作,如需詳細資訊,請參閱 Visual Basic 6.0 使用者可用的拖放動作

SelChange

SelectionChanged

Validate

Validating

升級注意事項

當 Visual Basic 6.0 應用程式升級為 Visual Basic 2008 時,所有 RichTextBox 控制項都會升級為 Windows Form RichTextBox 控制項,而屬性、方法和事件則升級為其對等用法。如果行為可能會不同,則在程式碼中插入升級註解。

請參閱

參考

RichTextBox 控制項概觀 (Windows Form)

其他資源

RichTextBox 控制項 (Windows Form)