vb.net在richtextbox transparancy中的表情符号

时间:2016-09-23 13:09:52

标签: vb.net

我设法将文本更改为富文本框中的表情符号,但我遇到了问题。

当我使用以下代码将文本更改为表情符号时,它不会显示gif文件的透明度:

If LCase(MainWindow.RichTextBoxChatRoom.Text).IndexOf(":d") <> -1 Then
                MainWindow.RichTextBoxChatRoom.Select(LCase(MainWindow.RichTextBoxChatRoom.Text).IndexOf(":d"), 2)
                Clipboard.SetImage(My.Resources.teeth_smile)
                MainWindow.RichTextBoxChatRoom.ReadOnly = False
                MainWindow.RichTextBoxChatRoom.Paste()
                MainWindow.RichTextBoxChatRoom.ReadOnly = True
                Empty = Empty + 1
            End If

奇怪的是,当我从word文档中复制完全相同的图标时,我将手动粘贴到richtextbox中。它非常有效。见下图:

Screenshot RichTextBox

有人可以解释为什么这是一种骚扰,也许是一种解决方案。

1 个答案:

答案 0 :(得分:0)

如果您的RichTextBox 将图片作为背景(只是某种颜色),那么:

Using bmp As Bitmap = New Bitmap(My.Resources.teeth_smile.Width, My.Resources.teeth_smile.Height) 'use a bitmap with the same size of your image
    Using g As Graphics = Graphics.FromImage(bmp)
        g.Clear(MainWindow.RichTextBoxChatRoom.BackColor) 'set the color of the bitmap the same as RichTextBox

        g.DrawImage(My.Resources.teeth_smile, 0, 0, My.Resources.teeth_smile.Width, My.Resources.teeth_smile.Height) 'draw your image to bmp

        Clipboard.SetImage(bmp) 'use the bmp bitmap to paste in RichTextBox

        MainWindow.RichTextBoxChatRoom.Paste()
    End Using
End Using