2009-02-26 83 views
4

我將新日誌行添加到WinForms文本框對象,並且這導致文本框滾動到底部。我怎樣才能防止這種情況並保留我目前的狀況? (短代碼片段將有所幫助)添加文本時防止滾動文本框

回答

0

SelectionStart沒有做我想做的,出於某種原因。它被重置爲0. 我發現了this post,它回答了我想要的內容(即使用文本框作爲日誌)。答案是TextBox.AppendText()

3

其實,AppendText通過()不會做你想要的東西(嘗試加入更多的文字,並在某些時候這一切都被打亂)

其實答案就在於在Win32 API中和幸運的是,一位同行的SO用戶已經實施了這種行爲完全: Auto-scrolling text box uses more memory than expected

1

在C#中,你可以嘗試<yourTextBox>.Text += "your new text";而不是<yourTextBox>.AppendText("your new text");

1

對問題的正確和簡單的回答是SelectedText(讀/寫)屬性。您可以爲其分配一些文本,並且文本將顯示在插入位置,而不必滾動文本框。在此之前,您可以使用SelectionStart將插入符號移至正確的位置。