WPF之RichTextBox丟失游標仍然選中文字

2022-03-21 08:31:00 字數 611 閱讀 9172

描述:開發中完成了乙個類似於word的懸浮工具欄功能,選中文字之後可以自動彈出乙個工具欄。可以修改字型、字型大小等功能,問題來了,我發現當去進行操作的時候原本選中的richtextbox的內容的顏色會變為白色,其實仍然是選中狀態,可是顏色消失了。查詢了大量資料都認為是lostfocus搞的鬼,經過多次試驗得出乙個結論,那就是重寫下lostfocus的事件。

開工:上文中提到認為是lostfocus搞的鬼,richtextbox有兩個lostfocus,onlostfocus和onlostkeyboardfocus,兩者的區別是前者為滑鼠的焦點,後者為鍵盤的焦點。但是在測試中發現只會進入後者,而不會進入前者,所以還是比較詫異的,詫異歸詫異,我們繼續。

上**:

protected

override

void

onlostkeyboardfocus(keyboardfocuschangedeventargs e)

好吧,只有這麼多**,就是截獲了onlostkeyboardfocus事件即可,但是這樣會有乙個不太友好的結果就是選中色的丟失事件木有了。我會告訴你,點選下richtextbox的內部即可消失嗎,哈哈,美中不足就是點選其他的焦點不能消失,大家斟酌吧。

WPF中RichTextBox設定文字的樣式

richtextbox的內容操作方式,選中richtextbox的內容方法 textrange range richtextbox1.selection 獲取選中項 string text range.text 選中的文字內容 range.start 獲取選中的開始位置 range.end 獲取選中...

RichTextBox的翻頁演算法

system.runtime.interopservices.dllimport user32.dll public static extern int sendmessage intptr hwnd,int wmsg,int wparam,int lparam private void paged...

相互關聯的RichTextbox

using system.windows.forms public class synchronizedscrollrichtextbox system.windows.forms.richtextbox public const int wm vscroll 0x115 public const ...