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 |
|
||
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 |
如需常數的清單,請參閱 Visual Basic 6.0 使用者可用的 MousePointer。 |
||
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 使用者可用的 ToolTip 支援。 |
||
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 |
沒有直接的對等用法。使用 Find 方法,配合 characterSet 引數。 |
||
Upto |
沒有直接的對等用法。使用 Find 方法,配合 characterSet 引數。 |
||
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 |
升級注意事項
當 Visual Basic 6.0 應用程式升級為 Visual Basic 2008 時,所有 RichTextBox 控制項都會升級為 Windows Form RichTextBox 控制項,而屬性、方法和事件則升級為其對等用法。如果行為可能會不同,則在程式碼中插入升級註解。
請參閱
參考
RichTextBox 控制項概觀 (Windows Form)