RichTextBox控制項

RichTextBox控制項

RichTextBox控制項允許用戶輸入和編輯文本的同時提供了比普通的TextBox控制項更高級的格式特徵。 RichTextBox控制項提供了數個有用的特徵,你可以在控制項中安排文本的格式。要改變文本的格式,必須先選中該文本。只有選中的文本才可以編排字元和段落的格式。有了這些屬性,就可以設定文本使用粗體,改變字型的顏色,創建超底稿和子底稿。也可以設定左右縮排或不縮排,從而調整段落的格式。 RichTextBox控制項可以打開和保存RTF檔案或普通的ASCII文本檔案。你可以使用控制項的方法(LoadFile和SaveFile)直接讀和寫檔案

基本介紹

  • 中文名:RichTextBox控制項
  • 使用:集合支持嵌入的對象
  • 支持剪貼簿和OLE對象的OLE拖放功能
  • 屬於:程式語言
介紹,用法舉例,屬性,方法,事件,

介紹

每個嵌入控制項中的對象都表示為一個對象。這允許文檔中創建的控制項可以包含其他控制項或文檔。例如,可以創建一個包含報表、Microsoft Word文檔或任何在系統中註冊的其他OLE對象的文檔。要在RichTextBox控制項中插入對象,可以簡單地拖住一個檔案(如使用Windows 95的Explorer)或其他應用程式(如Microsoft Word)中所用檔案的加亮部分(選擇部分),將其直接放到該RichTextBox控制項上。
RichTextBox控制項。當從剪貼簿貼上對象時,就在當前的插入點插入該對象。如果對象是拖放到控制項中,則插入點將跟隨滑鼠指針位置變動,直到釋放開滑鼠,然後在滑鼠釋放處插入對象。
要列印RichTextBox控制項中的所有或部分文本,使用SelPrint方法。因為RichTextBox控制項是數據綁定控制項,可以將其與Data控制項綁定到Microsoft Access資料庫的Binary或Memo數據域,或其他資料庫中類似的數據域(如SQL Server中的TEXT數據類型的數據域)。
RichTextBox控制項支持幾乎所有的TextBox控制項中的屬性、事件和方法,如MaxLength, MultiLine, ScrollBars, SelLength, SelStart和SelText。使用TextBox控制項的應用程式很容易改為使用RichTextBox控制項。然而,RichTextBox控制項並沒有普通TextBox控制項的64K字元能力的限制。

用法舉例

在C# winForm程式中。做一個日記本程式。想到需要圖文混合排版。需要用RichTextBox這個控制項。
//取消或置為粗體
private void button2_Click(object sender, System.EventArgs e) { Font oldFont = this.richTextBox1.SelectionFont; Font newFont;
if (oldFont.Bold) newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Bold);
else newFont = new Font(oldFont,oldFont.Style | FontStyle.Bold);
this.richTextBox1.SelectionFont = newFont; this.richTextBox1.Focus(); }
//取消或置為斜體
private void button7_Click(object sender, System.EventArgs e)
{ Font oldFont = this.richTextBox1.SelectionFont; Font newFont;
if (oldFont.Italic) newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Italic);
else newFont = new Font(oldFont,oldFont.Style | FontStyle.Italic);
this.richTextBox1.SelectionFont = newFont; this.richTextBox1.Focus(); }
//取消或加上下劃線
private void button8_Click(object sender, System.EventArgs e)
{ Font oldFont = this.richTextBox1.SelectionFont; Font newFont;
if (oldFont.Underline) newFont = new Font(oldFont,oldFont.Style & ~FontStyle.Underline);
else newFont = new Font(oldFont,oldFont.Style | FontStyle.Underline);
this.richTextBox1.SelectionFont = newFont; this.richTextBox1 .Focus(); }
//添加一行數據
richTextBox1.append("要添加的字元串");

屬性

Appearance屬性(ActiveX控制項),BackColor,ForeColor屬性(ActiveX控制項),BorderStyle屬性(ActiveX控制項),Enabled屬性(ActiveX控制項),HideSelection屬性(ActiveX控制項),MousePointer屬性(ActiveX控制項),OLEDragMode屬性(ActiveX控制項),OLEDropMode屬性(ActiveX控制項),SelLength, SelStart,SelText屬性(ActiveX控制項),Text屬性(ActiveX控制項),Height,Width屬性(ActiveX控制項),Index屬性(ActiveX控制項),Left, Top屬性(ActiveX控制項),Tag屬性(ActiveX控制項),Visible屬性(ActiveX控制項),Object屬性(ActiveX控制項),DisableNoScroll屬性,SelHangingIndent, SelIndent, SelRightIndent屬性,BulletIndent屬性,SelAlignment屬性,SelBold, SelItalic, SelStrikethru, SelUnderline屬性,SelCharOffset屬性,SelColor屬性,SelFontName屬性,SelFontSize屬性,SelBullet屬性,SelTabCount,SelTabs屬性,SelRTF屬性,RightMargin屬性,AutoVerbMenu屬性(RichTextBox控制項),SelProtected屬性,MaxLength屬性(RichTextBox控制項),MultiLine屬性(RichTextBox控制項),ScrollBars屬性(RichTextBox控制項),OLEObjects屬性,DataChanged屬性,DataField屬性,FileName屬性(RichTextBox控制項),TextRTF屬性,AutoVerbMenu屬性(RichTextBox控制項),Top屬性,DataMember屬性,DataFormat屬性,DataBindings屬性,TabIndex屬性,DragIcon屬性,DragMode屬性,hWnd屬性,Locked屬性,Causes Validation屬性,MouseIcon屬性,TabStop屬性,HelpContextID屬性,Name屬性,Parent屬性,Font屬性,Container屬性,ToolTipText屬性,DataSource屬性,WhatsThisHelpID屬性。

方法

OLEDrag方法(ActiveX控制項),Refresh方法(ActiveX控制項),Find方法,GetLineFromChar方法,LoadFile方法,SaveFile方法,SelPrint方法,Span方法,Upto方法,SetFocus方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法。

事件

SelChange事件,DragDrop事件,DragOver事件,GotFocus事件,KeyDown,KeyUp事件,KeyPress事件,LostFocus事件,MouseDown, MouseUp事件,MouseMove事件,Validate事件,OLECompleteDrag事件(ActiveX控制項),OLEDragDrop事件(ActiveX控制項),OLEDragOver事件(ActiveX控制項),OLEGiveFeedback事件(ActiveX控制項),OLESetData事件(ActiveX控制項),OLEStartDrag事件(ActiveX控制項),Change事件(ActiveX控制項),Click事件(ActiveX控制項),DblClick事件(ActiveX控制項),KeyDown,KeyUp事件(ActiveX控制項),KeyPress事件(ActiveX控制項)。
~~~~~~~~~
RichTextBox 事件
更新:2010 年 6 月(修正)
RichTextBox類型公開以下成員。
事件
名稱
說明
ContextMenuClosing
在控制項上的任何上下文選單關閉之前發生。 (繼承自FrameworkElement。)
ContextMenuOpening
在控制項上的任何上下文選單打開時發生。 (繼承自FrameworkElement。)
DataContextChanged
僅當此控制項的數據上下文更改時才發生。 (繼承自FrameworkElement。)
DragEnter
在輸入系統報告將此控制項作為拖動目標的基礎拖動事件時發生。 (繼承自UIElement。)
DragLeave
在輸入系統報告將此控制項作為拖動來源的基礎拖動事件時發生。 (繼承自UIElement。)
DragOver
在輸入系統報告將此控制項作為潛在放置目標的基礎拖動事件時發生。 (繼承自UIElement。)
Drop
在輸入系統報告將此控制項作為放置目標的基礎放置事件時發生。 (繼承自UIElement。)
FocusableChanged
當Focusable屬性的值更改時發生。 (繼承自UIElement。)
GiveFeedback
在輸入系統報告涉及此控制項的基礎拖放事件時發生。 (繼承自UIElement。)
GotFocus
在此控制項獲得邏輯焦點時發生。 (繼承自UIElement。)
GotKeyboardFocus
在鍵盤焦點位於此控制項上時發生。 (繼承自UIElement。)
GotMouseCapture
在此控制項捕獲滑鼠時發生。 (繼承自UIElement。)
GotStylusCapture
在此控制項捕獲手寫筆時發生。 (繼承自UIElement。)
初始化此FrameworkElement時發生。此事件與IsInitialized屬性的值從 false(或未定義)更改為 true 的情況相符。 (繼承自FrameworkElement。)
IsEnabledChanged
在此控制項的IsEnabled屬性值更改時發生。 (繼承自UIElement。)
IsHitTestVisibleChanged
在此控制項的IsHitTestVisible依賴項屬性值更改時發生。 (繼承自UIElement。)
IsKeyboardFocusedChanged
在此控制項的IsKeyboardFocused屬性值更改時發生。 (繼承自UIElement。)
IsKeyboardFocusWithinChanged
在此控制項的IsKeyboardFocusWithinChanged屬性值更改時發生。 (繼承自UIElement。)
IsMouseCapturedChanged
在此控制項的IsMouseCaptured屬性值更改時發生。 (繼承自UIElement。)
IsMouseCaptureWithinChanged
在此控制項的IsMouseCaptureWithinProperty值更改時發生。 (繼承自UIElement。)
IsMouseDirectlyOverChanged
在此控制項的IsMouseDirectlyOver屬性值更改時發生。 (繼承自UIElement。)
IsStylusCapturedChanged
在此控制項的IsStylusCaptured屬性值更改時發生。 (繼承自UIElement。)
IsStylusCaptureWithinChanged
在此控制項的IsStylusCaptureWithin屬性值更改時發生。 (繼承自UIElement。)
IsStylusDirectlyOverChanged
在此控制項的IsStylusDirectlyOver屬性值更改時發生。 (繼承自UIElement。)
IsVisibleChanged
在此控制項的IsVisible屬性值更改時發生。 (繼承自UIElement。)
在焦點位於此控制項上並且用戶按下鍵時發生。 (繼承自UIElement。)
KeyUp
在焦點位於此控制項上並且用戶釋放鍵時發生。 (繼承自UIElement。)
LayoutUpdated
在與當前Dispatcher關聯的各種可視控制項的布局更改時發生。 (繼承自UIElement。)
在控制項已布局、已呈現且可用於互動時發生。 (繼承自FrameworkElement。)
LostFocus
在此控制項失去邏輯焦點時發生。 (繼承自UIElement。)
LostKeyboardFocus
在鍵盤焦點不再位於此控制項上時發生。 (繼承自UIElement。)
LostMouseCapture
在此控制項失去滑鼠捕獲時發生。 (繼承自UIElement。)
LostStylusCapture
在此控制項失去手寫筆捕獲時發生。 (繼承自UIElement。)
MouseDoubleClick
當單擊滑鼠按鈕兩次或更多次時發生。 (繼承自Control。)
在指針懸停於此控制項上並且用戶按下任意滑鼠按鈕時發生。 (繼承自UIElement。)
MouseEnter
滑鼠指針進入此控制項的邊界時發生。 (繼承自UIElement。)
MouseLeave
滑鼠指針離開此控制項的邊界時發生。 (繼承自UIElement。)
MouseLeftButtonDown
在滑鼠指針懸停於此控制項上並且用戶按下滑鼠左鍵時發生。 (繼承自UIElement。)
MouseLeftButtonUp
滑鼠指針懸停於此控制項上並且用戶釋放滑鼠左鍵時發生。 (繼承自UIElement。)
在滑鼠指針懸停於此控制項上並且用戶移動該滑鼠指針時發生。 (繼承自UIElement。)
MouseRightButtonDown
滑鼠指針懸停於此控制項上並且用戶按下滑鼠右鍵時發生。 (繼承自UIElement。)
MouseRightButtonUp
滑鼠指針懸停於此控制項上並且用戶釋放滑鼠右鍵時發生。 (繼承自UIElement。)
MouseUp
在用戶在此控制項上釋放任意滑鼠按鈕時發生。 (繼承自UIElement。)
MouseWheel
滑鼠指針懸停於此控制項上並且用戶滾動滑鼠滾輪時發生。 (繼承自UIElement。)
PreviewDragEnter
在輸入系統報告將此控制項作為拖動目標的基礎拖動事件時發生。 (繼承自UIElement。)
PreviewDragLeave
在輸入系統報告將此控制項作為拖動來源的基礎拖動事件時發生。 (繼承自UIElement。)
PreviewDragOver
在輸入系統報告將此控制項作為潛在放置目標的基礎拖動事件時發生。 (繼承自UIElement。)
PreviewDrop
在輸入系統報告將此控制項作為放置目標的基礎放置事件時發生。 (繼承自UIElement。)
PreviewGiveFeedback
在開始拖放操作時發生。 (繼承自UIElement。)
PreviewGotKeyboardFocus
在鍵盤焦點位於此控制項上時發生。 (繼承自UIElement。)
PreviewKeyDown
在焦點位於此控制項上並且用戶按下鍵時發生。 (繼承自UIElement。)
PreviewKeyUp
在焦點位於此控制項上並且用戶釋放鍵時發生。 (繼承自UIElement。)
PreviewLostKeyboardFocus
在鍵盤焦點不再位於此控制項上時發生。 (繼承自UIElement。)
PreviewMouseDoubleClick
當用戶單擊滑鼠按鈕兩次或更多次時發生。 (繼承自Control。)
PreviewMouseDown
在指針懸停於此控制項上並且用戶按下任意滑鼠按鈕時發生。 (繼承自UIElement。)
PreviewMouseLeftButtonDown
在滑鼠指針懸停於此控制項上並且用戶按下滑鼠左鍵時發生。 (繼承自UIElement。)
PreviewMouseLeftButtonUp
在滑鼠指針懸停於此控制項上並且用戶釋放滑鼠左鍵時發生。 (繼承自UIElement。)
PreviewMouseMove
在滑鼠指針懸停於此控制項上並且用戶移動該滑鼠指針時發生。 (繼承自UIElement。)
PreviewMouseRightButtonDown
在滑鼠指針懸停於此控制項上並且用戶按下滑鼠右鍵時發生。 (繼承自UIElement。)
PreviewMouseRightButtonUp
在滑鼠指針懸停於此控制項上並且用戶釋放滑鼠右鍵時發生。 (繼承自UIElement。)
PreviewMouseUp
在滑鼠指針懸停於此控制項上並且用戶釋放任意滑鼠按鈕時發生。 (繼承自UIElement。)
PreviewMouseWheel
在滑鼠指針懸停於此控制項上並且用戶滾動滑鼠滾輪時發生。 (繼承自UIElement。)
PreviewQueryContinueDrag
在拖放操作過程中鍵盤或滑鼠按鈕的狀態發生變化時發生。 (繼承自UIElement。)
PreviewStylusButtonDown
在指針懸停於此控制項上並且用戶按下手寫筆按鈕時發生。 (繼承自UIElement。)
PreviewStylusButtonUp
在指針懸停於此控制項上並且用戶釋放手寫筆按鈕時發生。 (繼承自UIElement。)
PreviewStylusDown
在手寫筆懸停於此控制項上並接觸數位化儀時發生。 (繼承自UIElement。)
PreviewStylusInAirMove
在手寫筆掠過控制項但並未實際接觸數位化儀時發生。 (繼承自UIElement。)
PreviewStylusInRange
在手寫筆懸停於此控制項上方並位於數位化儀的檢測範圍之內時發生。 (繼承自UIElement。)
PreviewStylusMove
在手寫筆掠過控制項時發生。若要引發此事件,在數位化儀檢測到手寫筆時必須移動手寫筆;否則,將改為引發PreviewStylusInAirMove。 (繼承自UIElement。)
PreviewStylusOutOfRange
當手寫筆距離要檢測的數位化儀過遠時發生。 (繼承自UIElement。)
PreviewStylusSystemGesture
在用戶執行若干手寫筆筆勢之一時發生。 (繼承自UIElement。)
PreviewStylusUp
在用戶將懸停於此控制項上的手寫筆從數位化儀上移開時發生。 (繼承自UIElement。)
PreviewTextInput
在此控制項以與設備無關的方式獲取文本時發生。 (繼承自UIElement。)
QueryContinueDrag
在拖放操作過程中鍵盤或滑鼠按鈕的狀態發生變化時發生。 (繼承自UIElement。)
QueryCursor
在請求顯示游標時發生。每次滑鼠指針移至新位置時都會在一個控制項上引發此事件,這意味著游標對象可能需要根據其新位置進行更改。 (繼承自UIElement。)
RequestBringIntoView
當在此控制項上調用BringIntoView時發生。 (繼承自FrameworkElement。)
SelectionChanged
在文本選定內容更改後發生。 (繼承自TextBoxBase。)
SizeChanged
當此控制項上的ActualHeight或ActualWidth屬性的值發生更改時發生。 (繼承自FrameworkElement。)
SourceUpdated
當此控制項上的任何現有屬性綁定的源值發生更改時發生。 (繼承自FrameworkElement。)
StylusButtonDown
在指針懸停於此控制項上並且用戶按下手寫筆按鈕時發生。 (繼承自UIElement。)
StylusButtonUp
在指針懸停於此控制項上並且用戶釋放手寫筆按鈕時發生。 (繼承自UIElement。)
StylusDown
在手寫筆懸停於此控制項上並接觸數位化儀時發生。 (繼承自UIElement。)
StylusEnter
在手寫筆進入此控制項的邊界時發生。 (繼承自UIElement。)
StylusInAirMove
在手寫筆掠過控制項但並未實際接觸數位化儀時發生。 (繼承自UIElement。)
StylusInRange
在手寫筆懸停於此控制項上方並位於數位化儀的檢測範圍之內時發生。 (繼承自UIElement。)
StylusLeave
在手寫筆離開此控制項的邊界時發生。 (繼承自UIElement。)
StylusMove
在手寫筆掠過此控制項時發生。若要引發此事件,手寫筆位於數位化儀上時必須移動。否則,將改為引發StylusInAirMove。 (繼承自UIElement。)
StylusOutOfRange
在手寫筆懸停於此控制項上方並位於數位化儀的檢測範圍之外時發生。 (繼承自UIElement。)
StylusSystemGesture
在用戶執行若干手寫筆筆勢之一時發生。 (繼承自UIElement。)
StylusUp
在用戶將懸停於此控制項上的手寫筆從數位化儀上移開時發生。 (繼承自UIElement。)
TargetUpdated
當此控制項上的任何屬性綁定的目標值發生更改時發生。 (繼承自FrameworkElement。)
TextChanged
在文本控制項中的內容更改時發生。 (繼承自TextBoxBase。)
TextInput
在此控制項以與設備無關的方式獲取文本時發生。 (繼承自UIElement。)
ToolTipClosing
在控制項上的任何工具提示關閉之前發生。 (繼承自FrameworkElement。)
ToolTipOpening
當控制項上的任意工具提示打開時發生。 (繼承自FrameworkElement。)
Unloaded
當從載入的控制項的元素樹中移除元素時發生。 (繼承自FrameworkElement。)
另請參見
參考 RichTextBox 類
System.Windows.Controls 命名空間

相關詞條

熱門詞條

聯絡我們