public void SetText(RichTextBox rtb)
{
rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.NewLine;
rtb.BackColor = Color.White;
rtb.ForeColor = Color.Blue;
rtb.SelectionColor = Color.White;
rtb.Font = new Font("黑体", ); //获得要复制图片的完整路径
string picPath = Application.StartupPath + "\\accept.png";
//建立Image对象
Image myImage = Image.FromFile(picPath);
//建立一个IDataObject对象存储图片
IDataObject data = new DataObject();
//调用SetData方法储存图片
data.SetData(myImage);
//将图片复制到剪贴板上
Clipboard.SetDataObject(data, false);
rtb.SelectionStart = rtb.Text.Length;
//将剪贴板中的内容贴入RichTextBox中
rtb.Paste();
rtb.AppendText(Environment.NewLine + "测试结束!");
}

效果:

这是一个在RichTextBox中插入图片和文字的方法,使用时将RichTextBox对象传给该方法即可,方法中的文字是定死的,可以根据自己的需求修改文字内容和图片路径。调用剪贴板时可以直接将Image对象传给SetDataObject方法,放在剪贴板上的对象必须是可序列化的,这里调用IDataObject接口来实现剪贴板中的Clipboard和拖放操作。下面说下DataObject类的使用说明,截取自MSDN:
DataObject 实现 IDataObject 接口,该接口的方法为数据传输提供与格式无关的机制。

DataObject 通常用于 Clipboard 和拖放操作。DataObject 类提供 IDataObject 接口的建议实现。建议使用 DataObject 类,而不用自己实现 IDataObject

可将不同格式的多种数据存储在 DataObject 中。可通过与数据关联的格式从 DataObject 中检索这些数据。因为目标应用程序可能未知,所以通过将数据以多种格式放置在 DataObject 中,可使数据符合应用程序的正确格式的可能性增大。请参见 DataFormats 以获得预定义的格式。可通过创建 DataFormats.Format 类的实例来实现自己的格式。

若要在 DataObject 中存储数据,请将这些数据传递给构造函数或调用 SetData。可以使用多种格式将数据添加到同一 DataObject。如果想只以其本机格式检索添加的数据,请调用 SetData(String, Boolean, Object),将其 autoConvert 参数设置为 false。

可从 DataObject 中以任何与 GetData 兼容的格式检索数据。例如,文本可被转换为 Unicode。若要按照存储数据的原格式来检索该数据,可调用 GetData,并将 autoConvert 参数设置为 false。

若要确定数据存储的格式,可调用 GetFormats。若要确定一种格式是否可用,可用所需的格式来调用 GetDataPresent

在 .NET Framework 2.0 中,DataObject 类可提供其他方法,使得处理常用格式的数据更加容易。若要将特定格式的数据添加到 DataObject 中,请使用相应的 Set格式 方法,如 SetText。若要检索 DataObject 中特定格式的数据,请首先调用相应的 Contains 格式 方法(如 ContainsText),以确定 DataObject 是否包含该格式的数据,如果 DataObject 包含该格式的数据,再调用相应的 Get 格式 方法(如 GetText)进行检索。

在RichTextBox控件中添加图片和文字的更多相关文章

  1. 在RichTextBox控件中插入图片

    . 在RichTextBox控件中插入图片 关键点 . 实现过程 .   public void ShowInsertImageDlg() {     OpenFileDialog OpenFileD ...

  2. 在RichTextBox控件中添加超链接文本

    实现效果: 知识运用: RichTextBox控件的AppendText方法 public void AppendText{string textData} //向控件中添加文本内容 和Process ...

  3. 在RichTextBox控件中显示RTF格式文件

    实现效果: 知识运用:    RichTextBox控件的LoadFile方法 //将文件内容加载到RichTextBox控件中 public void LoadFile(string path,Ri ...

  4. C#中向ListView控件中添加一行数据

    C#中向ListView控件中添加一行数据: ,先声明一个ListViewItem: ListViewItem item = new ListViewItem(); ,添加第一列数据: item.Te ...

  5. 在RichTextBox控件中替换文本文字

    实现效果: 知识运用: RichTextBox控件的SelectedText属性 实现代码: private void button1_Click(object sender, EventArgs e ...

  6. (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明

    Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...

  7. Android控件上添加图片

    项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图. 下面是两种方法的设置: 1.xml里:一些控件:button.textView等等里面有个属性是 ...

  8. MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致

    1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...

  9. android 自定义控件之NetWorkImageView 处理listview等控件中的图片加载乱序问题

    0.调用: BaseAdapter中设置方法 holder.iv.loadImage(url); adapter_xxx.xml 中 控件需要用 xxx.NetWorkImageView 1 NetW ...

随机推荐

  1. U盘安装,FTP安装CENTOS--错误信息:Unable to read package metadata.This may be due to a missing repodata directory.

    考察repodata下的repomd.xml里的文件和同一目录下的那些文件是不是一一对应的.主要看有没后缀.如果不一致,则要用XML里的文件后缀加上去. 弄了我好多次. http://renzhenx ...

  2. ISO15693协议的Inventory

    ISO15693的Inventory指令看起来比较让人迷糊,想明白其流程,我认为以下几点是必须了解的: 第一.ISO15693标签的几种状态,资料上有,这里罗嗦重复一下: 1.PowerOff状态 2 ...

  3. java 上传图片 打水印

    其实就是在现有的图片上,画东西,也可以直接 贴图片 //添加水印 @Override public File pressFile(File file,String press_path) throws ...

  4. 查看堵塞的SQL

    SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.t ...

  5. BZOJ1629: [Usaco2007 Demo]Cow Acrobats

    1629: [Usaco2007 Demo]Cow Acrobats Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 601  Solved: 305[Su ...

  6. 【转】在linux内核中读写文件 -- 不错

    原文网址:http://blog.csdn.net/tommy_wxie/article/details/8194276 1. 序曲 在用户态,读写文件可以通过read和write这两个系统调用来完成 ...

  7. Java习惯用法总结

    在微博中看到的一个不错的帖子,总结的很详细,拷贝过来,一是为了方便自己查阅,也能和大家一起共享,后面有原文的链接地址: 在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的.在 ...

  8. Emacs添加主题插件(Win系统)

    Emacs添加主题插件(Win系统) */--> /* @licstart The following is the entire license notice for the JavaScri ...

  9. Matlab:拟合(2)

    非线性最小二乘拟合: 解法一:用命令lsqcurvefit function f = curvefun(x, tdata) f = x() + x()*exp() * tdata); %其中x() = ...

  10. Hadoop操作hdfs的命令【转载】

    本文系转载,原文地址被黑了,故无法贴出原始链接. Hadoop操作HDFS命令如下所示: hadoop fs 查看Hadoop HDFS支持的所有命令 hadoop fs –ls 列出目录及文件信息 ...