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. 在Mac下运行ASP.NET Core应用程序

    在Mac下运行ASP.NET Core应用程序 通过参照.NET Core相关官方文档,在我的Mac电脑上用Visual Studio Code创建了我的第一个ASP.NET应用. 开发环境搭建 首先 ...

  2. 一个轻量级的3D CSS 库

    JavaScript 3D library 该项目的目的是为了打造轻量级的.实用简单的3D CSS库. Usage使用方法 下载 minified库文件 和 css文件,并将其包含于你的HTML中,就 ...

  3. 线上redis服务内存异常分析。

    项目中,新增了一个统计功能,用来统计不同手机型号的每天访问pv,看了下redis2.6有个setbit的功能,于是打算尝尝鲜把 redis从2.4更新到了2.6 因为是租了vps.服务器的内存只有4g ...

  4. C#中数组,ArrayList与List对象的区别

    在C#中,当我们想要存储一组对象的时候,就会想到用数组,ArrayList,List这三个对象了.那么这三者到底有什么样的区别呢? 我们先来了解一下数组,因为数组在C#中是最早出现的. 数组 数组有很 ...

  5. SpringCloud网关ZUUL集成consul

    最近一直在搞基于springcloud的微服务开发,为了不限定微服务开发语言,服务发现决定采用consul不多说上代码 pom文件 <project xmlns="http://mav ...

  6. Ubuntu安装微信

    1.系统是Ubuntu 16.04 64位系统,在网上先去下载electronic-wechat-Linux         https://github.com/geeeeeeeeek/electr ...

  7. ubuntu配置

    首先就是Ubuntu的更新源问题,需要更改,否则更新不了. 其次就是Securecrt的远程登陆问题,windows主机和ubuntu虚拟机如果能通信,要求在同一网段上,而ubuntu是动态加载,需要 ...

  8. For update带来的思考

    For update or not 起源 ​ 之所以想写这个专题,是因为最近在做一个抢占任务的实现.假设数据库很多个任务,在抢占发生之前任务的状态都是FREE.现在假设同时有一堆抢占线程开始工作,抢占 ...

  9. R中的参数传递函数:commandArgs(),getopt().

    1.commandArgs(),是R自带的参数传递函数,属于位置参数. ##test.R args=commandArgs(T) print (args[1])##第一个外部参数 print (arg ...

  10. [Apple开发者帐户帮助]九、参考(5)支持的功能(tvOS)

    tvOS应用程序可用的功能取决于您的程序成员身份. 能力 ADP 企业 Apple开发者 应用程序组 相关域名   背景模式 数据保护 游戏中心     游戏控制器 HomeKit iCloud:Cl ...