Вставить изображение в положение курсора в поле Rich Text

Я знаю, что есть разные вопросы, подобные этому, но я спрашиваю, потому что я не мог понять все ответы. у меня естьRichTextBox и я хочу, чтобы пользователь мог вставить изображение в текущей позиции курсора.

Я пытался использоватьClipboard установить изображение, а затем вставить его в расширенное текстовое поле. Это работает, но мне сказали, что это плохая практика, так как он изменяет данные на панели управления без уведомления пользователя.

Это то, что я пробовал

    private bool CheckIfImage(string filename)
    {
        if (filename.EndsWith(".jpeg")) { return true; }
        else if (filename.EndsWith(".jpg")) { return true; }
        else if (filename.EndsWith(".png")) { return true; }
        else if (filename.EndsWith(".ico")) { return true; }
        else if (filename.EndsWith(".gif")) { return true; }
        else if (filename.EndsWith(".bmp")) { return true; }
        else if (filename.EndsWith(".emp")) { return true; }
        else if (filename.EndsWith(".wmf")) { return true; }
        else if (filename.EndsWith(".tiff")) { return true; }
        else { return false; }
    }

    private void openFileDialog2_FileOk(object sender, CancelEventArgs e)
    {
        if (CheckIfImage(openFileDialog2.FileName.ToLower()) == true)
        {
            Image img = Image.FromFile(openFileDialog2.FileName);
            string setData = (String)Clipboard.GetData(DataFormats.Rtf);

            Clipboard.SetImage(img);
            rtbType.Paste();

            Clipboard.SetData(DataFormats.Rtf, setData);
        }
        else
        {
            MessageBox.Show("Invalid Image File Selected");
        } 
    }

Пожалуйста, есть ли лучший способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос