2016-06-19 123 views
0

我需要建立一個數字標牌應用程序,它將顯示通知。考慮到文本應該具有被設計爲用戶的能力,我想過一個富文本框控件,文本將自動垂直滾動(如「新聞」文本框)。 任何想法?RichTextBox垂直自動滾動文本

+0

目前爲止的代碼?您可以定期將WM_SCROLL消息發送到富文本框。滾動到底時會發生什麼?使用HTML頁面(可以處理來自JavaScript內部的滾動)可以實現更好的控制,並使用WebBrowser控件顯示在VB.NET程序中。 – dlatikay

回答

0

好吧我現在正在爲你寫這個給你,而我等待我的火車所以我沒有測試過,但這樣的事情應該做的伎倆。

注意
如果你得到CheckForIllegalCrossThreadCalls錯誤
不要將其設置爲CheckForIllegalCrossThreadCalls = False除了調試的目的。
雖然你不會在開始時注意到任何事情,但CheckForIllegalCrossThreadCalls = False可能會導致問題在稍後出現。

綜上所述,這裏是代碼。

Public Class Form1 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    TextBox1.SelectionStart = 0 ''Change to a RichTextBox if you want. 
    ''Starting the background worker. 
    BackgroundWorker1.RunWorkerAsync() 
End Sub 

Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork 
    ''BACKGROUND WORKER'' 
    For i = 0 To TextBox1.Text.Length 
     TextBox1.SelectionStart = i 
     System.Threading.Thread.Sleep(200)''changing the sleep time will make the textbox scroll to the right faster or slower. 
    Next 

End Sub 

Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted 
    ''Once completed, The background worker will start again. 
    TextBox1.SelectionStart = 0 
    BackgroundWorker1.RunWorkerAsync() 
End Sub 

Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing 
    ''This should stop the program from crashing when closing if the background worker is still running 
    BackgroundWorker1.CancelAsync() 
End Sub 
End Class 

注意
您將需要使用一個後臺工作,否則你的程序將變得沒有反應,直到Loop完成。
再一次,如果你得到CheckForIllegalCrossThreadCalls錯誤,請看看谷歌和搜索以解決這個問題,但是如果你很樂意把它作爲CheckForIllegalCrossThreadCalls = False而不是你自己。

讓我知道你是怎麼回事,我還沒有測試過,但是由於沒有人在10個小時內回覆過你,我想我甚至在沒有編譯器的情況下試一試。

+0

嗨,我會試試這個,讓你知道盡快。謝謝! – Kasper555

+0

沒有問題,如果你碰巧遇到了我剛纔提到的錯誤,但很高興與它一起生活,直到你清除所有代碼,這裏是修復'CheckForIllegalCrossThreadCalls = False'將它添加到formload sub – Werdna

+0

爲什麼沒有問題你只是從一開始就使它線程安全? :) –