Пытаюсь вставить картинку в RichTextBox разными способами, но она не отображается.
Image img = Image.FromFile("is_smile.png");
Clipboard.Clear();
Clipboard.SetImage(img);
richTextBox1.Paste();
Clipboard.Clear();
или так
Image img = Image.FromFile(@"is_smile.png");
Clipboard.SetDataObject(img);
DataFormats.Format dataFormat =
DataFormats.GetFormat(DataFormats.Bitmap);
if (richTextBox1.CanPaste(dataFormat))
{
richTextBox1.Paste(dataFormat);
}
или так
Bitmap myBitmap = new Bitmap(Properties.Resources.is_smile);
Clipboard.SetDataObject(myBitmap);
DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Bitmap);
richTextBox1.Paste(myFormat);
Результат вечно один, картинка не вставляется. Ну или она так вставляется, что ее не видно.
Воспользовался этой статьей, но при попытке заменить символ на картинку, у меня вообще просто зависает приложение csharpdemos.blogspot.com/2012/10/… . А все потому что я сначала пишу в TextBox и отправлю символы в RichTextBox, а после уже проверяю символы в RichTextBox для замены на картинку.
Использую замену символов в тексте на картинку, но при добавлении нового текста в новой строке картинка, которая была раньше, исчезнет.
Hashtable emotions;
void CreateEmotions()
{
emotions = new Hashtable(2);
emotions.Add(":-)", Properties.Resources.is_smile);
emotions.Add(":)", Properties.Resources.is_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();
}
}
}
private void richTextBox1_TextChanged_1(object sender, EventArgs e)
{
AddEmotions();
}
Продвижение своими сайтами как стратегия роста и независимости