我认为唯一的方法是使用粘贴选项。
试试这个代码
    private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (richTextBox1.Text.Contains(":-)"))
    {
        richTextBox1.SelectionStart = richTextBox1.Find(":-)", RichTextBoxFinds.WholeWord);
        richTextBox1.SelectionLength = 3;
        Clipboard.SetImage(im.Images["smile.png"]);
        this.richTextBox1.Paste();
    }
}