打印本文 打印本文 关闭窗口 关闭窗口
用vb.net实现写字板程序报告(二)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2136  更新时间:2009/4/23 19:01:53  文章录入:mintao  责任编辑:mintao

    End Sub

同样,取消样式也有同样的问题,当然也有同样的解决方法

''''下面这个函数是用来去除用户指定的字体样式,如加粗,下划线等等

    Public Sub RemoveFontStyle(ByVal rtb As RichTextBox, _

    ByVal style As System.Drawing.FontStyle)

        '''' 如果选择文本的长度大于0,将一个一个去除样式。

        '''' 这是十分必要的!因为选择的文本中可能有许多不同的样式,而我们的原意是

        '''' 保持所有原来的样式,除了那个要被去除的样式

        If rtb.SelectionLength > 0 Then

            Dim selStart As Integer = rtb.SelectionStart

            Dim selLength As Integer = rtb.SelectionLength

            Dim currFont As System.Drawing.Font

            Dim currStyle As System.Drawing.FontStyle

            Dim i As Integer

            For i = 0 To selLength - 1

                '''' 选择一个字符

                rtb.Select(selStart + i, 1)

                '''' 得到被选择字符的字体

                currFont = rtb.SelectionFont

                '''' 得到被选择字符的样式,同时去除要被除去的那个样式

                currStyle = currFont.Style

                currStyle = currStyle And Not style

                '''' 然后赋予这些字符新的字体和样式

                rtb.SelectionFont = New Font(currFont.FontFamily, currFont.Size, _

    currStyle)

            Next

            '''' 保持原有的选择

            rtb.Select(selStart, selLength)

        Else

            rtb.SelectionFont = New Font(rtb.SelectionFont, _

                rtb.SelectionFont.Style And Not style)

        End If

    End Sub

 

还有几个关于设置字体大小,字体的字体等等就不细说了,如您需要,我可提供所有源代码文件。欢迎与我联系。

luluhai@eastday.com

 

未完待续......

 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口