【问题标题】:one sub procedure / change text color in rich text box / without button handler一个子程序/在富文本框中更改文本颜色/没有按钮处理程序
【发布时间】:2010-10-08 11:39:50
【问题描述】:

大家!我已经有一段时间了,我不确定如何解决这个问题:

我正在 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

有没有一种方法可以编写一个子程序(我假设我会使用一个子程序,因为我认为我不需要返回任何东西,从而消除了对函数的使用)来处理更改富文本框中选定的文本颜色,而不必为每个单选按钮使用单独的子按钮?请注意,根据我老师的规范,她不会为此使用按钮处理程序。

谢谢,如果我提供了足够的信息,请告诉我!

【问题讨论】:

    标签: vb.net visual-studio


    【解决方案1】:

    这样的事情会起作用:

    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
    

    【讨论】:

    • 霍根:感谢您的回复。我最终弄清楚了,它与您的解决方案基本相同。
    猜你喜欢
    • 2016-07-01
    • 1970-01-01
    • 2015-02-02
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多