7
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace abc
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    EmoticonRender ab = new EmoticonRender();
    private void button1_Click(object sender, EventArgs e)
    {
        string textie = ab.Parse(textBox1.Text);
        richTextBox1.Text += textie+"\n";
    }
}
public class EmoticonRender
{

    private List<KeyValuePair<string, string>> _dictionary = new List<KeyValuePair<string, string>>() 
    {
    new KeyValuePair<string, string>(":-)", "a.png"),
    new KeyValuePair<string, string>(";-(", "a.png"),
    };

    public string Parse(string text)
    {
    foreach(KeyValuePair<string, string> kvp in _dictionary)
    {
    text = text.Replace(kvp.Key, @"C:\Users\Buddiez\Documents\Visual Studio 2010\Projects\abc\abc\a.png");
    }
    return text;
    }

}

}

我使用这些代码行将笑脸插入richtextbox,但不是显示笑脸,而是显示png imgae的路径,即。C:\Users\Buddiez\Documents\Visual Studio 2010\Projects\abc\abc\a.png

4

2 回答 2

1

复制您拥有的所有图像并导航到>> Visual Studio 选择项目>>属性。选择资源并将所有复制的图像粘贴到右侧窗格中。

    Hashtable emotions;
    void CreateEmotions()
    {
        emotions= new Hashtable(6);
        emotions.Add(":-)", Project.Properties.Resources.regular_smile);
        emotions.Add(":)",  Project.Properties.Resources.regular_smile);

    }

    void AddEmotions()
    {
        foreach (string emote in emotions.Keys)
        {
            while(richTextBox1.Text.Contains(emote))
            {
                int ind = richTextBox1.Text.IndexOf(emote);
                richTextBox1.Select(ind, emote.Length);
                Clipboard.SetImage((Image)emotions[emote]);
                richTextBox1.Paste();
            }
        }
    }
于 2014-02-18T08:36:02.657 回答
1

一个好的(和相对较新的)解决方案可能是使用开源EmojiBox项目。

那里的代码不多,所以很容易理解,只需注意,为了将表情符号插入到那里的自定义 RichTextBox 中,您输入的文本必须遵循:emoji_name 的模板:

当然,如果您不想使用整个 unicode 表情符号列表,您也可以替换 json 文件中的图像文件或其名称/描述。

于 2017-08-14T06:09:31.613 回答