2016-09-23 107 views
0

作業,我需要創建一個像http://typeracer.com/一樣的程序。下劃線在VB中重複單詞

繼承人什麼我迄今所做的:

Dim strContent As String = "the texts the text the text" 
Dim arrNum As Integer = 0 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    arrContent = strContent.Split(" ") 
    RichTextBox2.Text = strContent 
End Sub 

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged 
    If TextBox1.Text = arrContent(arrNum) + " " Then 
     TextBox1.Clear() 
     arrNum = arrNum + 1 
    End If 
End Sub 

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    Dim strSearch As String = arrContent(arrNum) 
    Dim intIndex As Integer = RichTextBox2.Find(strSearch, 0, RichTextBoxFinds.WholeWord) 
    If intIndex <> -1 Then 
     RichTextBox2.SelectionStart = intIndex 
     RichTextBox2.SelectionLength = strSearch.Length    
     RichTextBox2.SelectionFont = New Font(RichTextBox2.Font, FontStyle.Bold) 
    End If 
End Sub 

的問題是,重複的單詞沒有得到下劃線的,爲什麼呢?

回答

0

它不會被加下劃線,因爲您將它設置爲加粗文本,而不是加下劃線。而且我會想象如果你在Timer1_Tick中放置一個斷點,你不會觸發它,因爲你還沒有啓動定時器;您需要啓用定時器(如果它尚未啓動),然後啓動它。

添加這Form1_Load的

Timer1.Enabled = True 
Timer1.Start() 

,並更改

RichTextBox2.SelectionFont = New Font(RichTextBox2.Font, FontStyle.Bold) 

RichTextBox2.SelectionFont = New Font(RichTextBox2.Font, FontStyle.Underline) 

我想這和下劃線的作品,但你有你的一些其他的邏輯問題需要整理。如果同一單詞不止一次出現在內容中,則下劃線邏輯將失敗。它也不會在程序第一次啓動時強調第一個單詞,並且在完成文本框中的所有單詞的輸入後也會出錯,因爲數組的索引將超出範圍。但現在下劃線部分正在工作,您可以開始調試其餘的東西

+0

謝謝,爲了指出 –

相關問題