2010-10-08 49 views
0

大家好!我一直在這一段時間,我不知道這個問題可以如何解決:一個子程序/更改富文本框中的文本顏色/無按鈕處理程序

我正在VB.Net中的項目,我有一個豐富的文本框的表單。我有一個帶有4個單選按鈕的組框,用於更改文本的字體顏色。巧合的是,我必須爲第二組單選按鈕重複相同的功能,以改變文本字體系列。

無論如何什麼,我只能夠做的就是下面的成功改變我的富文本框中選中的任何文本的字體顏色:

Private Sub rbtnBlack_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtnBlack.CheckedChanged 
    rtbxTextEditor.SelectionColor = Color.Black 
End Sub 

Private Sub rbtnRed_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtnRed.CheckedChanged 
    rtbxTextEditor.SelectionColor = Color.Crimson 
End Sub 

Private Sub rbtnGreen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtnGreen.CheckedChanged 
    rtbxTextEditor.SelectionColor = Color.DarkGreen 
End Sub 

Private Sub rbtnBlue_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rbtnBlue.CheckedChanged 
    rtbxTextEditor.SelectionColor = Color.RoyalBlue 
End Sub 

有沒有一種方法,我可以寫一個子(我假設我會使用一個子,因爲我不認爲我需要返回任何東西,從而消除了一個函數的使用),這將處理在富文本框中更改所選文本顏色的操作而不必爲每個單選按鈕使用單獨的子項?請注意,根據我的老師的規範,她不會使用任何按鈕處理程序。

謝謝,請讓我知道如果我提供了足夠的信息!

回答

0

像這樣的工作:

Private Sub somethingChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles rbtnBlack.CheckedChanged,rbtnRed.CheckedChanged,rbtnGreen.CheckedChanged ' etc ... 
    IF sender = rbtnBlack THEN 
    rtbxTextEditor.SelectionColor = Color.Black 
    END IF 

    IF sender = rbtnRed THEN 
    rtbxTextEditor.SelectionColor = Color.Crimson 
    END IF 

    ' etc 

End Sub 
+0

霍根:感謝您的答覆。我最終弄清楚了,它和你的解決方案基本相同。 – carlos 2010-10-11 16:43:45

相關問題