2013-09-28 4 views
0

Я пытаюсь вставить изображения в свое богатое текстовое поле на C#, но до сих пор я только провал. Несчастно.Вставить изображение в RichTextBox вместе с текстом C#

Это код, который я использую:

Clipboard.SetImage(Image.FromFile(Application.StartupPath + @"\PIC\" + i + ".bmp")); 
chat.Paste(); 

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

Может ли кто-нибудь помочь мне с этим? Пожалуйста??? Благодаря

+1

Существует ли картина? Исключение? –

+0

Проверьте это .. может быть полезно .. http://stackoverflow.com/questions/542850/how-can-i-insert-an-image-into-a-richtextbox – Sachin

+0

@SriramSakthivel Не исключение. Изображение существует, и оно копируется в буфер обмена. –

ответ

0

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

private void createImage(Control item) 
    { 
     Hashtable image = new Hashtable(1); 
     image.Add(item,yourproject.Properties.Resources.yourpicturename); 
     Clipboard.SetImage((Image)image[item]); 
     ((RichTextBox)item).Paste(); 
    } 
+0

Это не сработало :( –

+0

Dont использовать dataformats, просто вставить. Попробуйте, если (richtextbox.canpaste (df)), он не будет вводить оператор if. – terrybozzio

+0

Пробовал тоже. Не работает ни –

0
private static void createImage(RichTextBox item) 
{ 
    var image = new Hashtable(1) { { item, Properties.Resources.yourimage } }; 
    Clipboard.SetImage((Image)image[item]); 
    item.Paste(); 
} 
0
RichTextBox rtb = new RichTextBox();  
byte[] headerImage = (byte[])(dr["ImageData"]); 
       string imageData = string.Empty; 
       if (headerImage != null && headerImage.Length > 0) 
       { 
        Bitmap bmp = new Bitmap(new MemoryStream(headerImage)); 
        MemoryStream ms = new MemoryStream(); 
        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); 
        ms.Position = 0; 
        imageData = @"{\pict\jpegblip\picw10449\pich3280\picwgoal9924\pichgoal1860\ " + BitConverter.ToString(ms.ToArray()).Replace("-", string.Empty).ToLower() + "}"; 

        ms.Dispose(); 
       } 
string finalrtfdata = rtb.Rtf; 
       finalrtfdata = finalrtfdata.Replace("&ImageHeader&", imageData); 
// finalrtfdata contain your image data along with rtf tags. 
Смежные вопросы