2011-03-09 130 views
5

我有一個充當日誌的富文本框。當添加新消息時,日誌會自動向下滾動,這很好。唯一的問題是用戶何時想從之前查看日誌中的內容;如果附加了新消息,該框會自動向下滾動並阻止用戶看到任何內容。 我希望能夠檢查富文本框是否一直向下滾動,如果它不是向下滾動。檢查Windows窗體滾動條是否一直向下滾動?

目前我可以在虛擬文本空間(帶EM_GETSCROLLPOS的SendMessage)中獲取滾動位置。我也可以通過GetScrollBarInfo來獲取滾動條信息。但是,我怎麼知道虛擬文本空間的底部是什麼?

謝謝!

+0

如果選中文本的結尾是否是在可見光區域也Wouln't更直觀? – TheBlastOne 2011-03-09 13:57:06

+0

當然,但你怎麼能做到這一點? – Janiels 2011-03-09 16:26:20

+0

Ergh,帶WM_GETTEXT的SendMessage是我記得的。不得不把它挖出來,現在手邊沒有這個,對不起,但是今天會試着挖出來。 – TheBlastOne 2011-03-14 07:29:00

回答

2

使用vScrollBar控制你的RichTextBox和處理其Scroll事件

private void vScrollBar1_Scroll(object sender, ScrollEventArgs e) 
    { 
     if (e.Type == ScrollEventType.Last) 
     { 
      //scrollbar is all the way down 
     } 
     else 
     { 
      //user has scrolled up 
     } 
    }