大家好!我已经有一段时间了,我不确定如何解决这个问题:
我正在使用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
有没有办法可以写一个sub(我假设我会使用sub,因为我认为我不需要返回任何东西,从而消除了使用函数)来处理更改富文本框中选定的文本颜色,而不必为每个单选按钮使用单独的子项?请注意,根据我老师的规格,她不会使用任何按钮处理程序。
谢谢,如果我提供了足够的信息,请告诉我!
答案 0 :(得分: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