在RichTextBox控件中添加图片和文字
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控件中添加图片和文字的更多相关文章
- 在RichTextBox控件中插入图片
. 在RichTextBox控件中插入图片 关键点 . 实现过程 . public void ShowInsertImageDlg() { OpenFileDialog OpenFileD ...
- 在RichTextBox控件中添加超链接文本
实现效果: 知识运用: RichTextBox控件的AppendText方法 public void AppendText{string textData} //向控件中添加文本内容 和Process ...
- 在RichTextBox控件中显示RTF格式文件
实现效果: 知识运用: RichTextBox控件的LoadFile方法 //将文件内容加载到RichTextBox控件中 public void LoadFile(string path,Ri ...
- C#中向ListView控件中添加一行数据
C#中向ListView控件中添加一行数据: ,先声明一个ListViewItem: ListViewItem item = new ListViewItem(); ,添加第一列数据: item.Te ...
- 在RichTextBox控件中替换文本文字
实现效果: 知识运用: RichTextBox控件的SelectedText属性 实现代码: private void button1_Click(object sender, EventArgs e ...
- (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明
Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...
- Android控件上添加图片
项目中有一个点赞功能,点赞的小图标添加在点赞列表旁边,在xml里可以进行设置,也可以在代码中进行绘图. 下面是两种方法的设置: 1.xml里:一些控件:button.textView等等里面有个属性是 ...
- MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致
1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...
- android 自定义控件之NetWorkImageView 处理listview等控件中的图片加载乱序问题
0.调用: BaseAdapter中设置方法 holder.iv.loadImage(url); adapter_xxx.xml 中 控件需要用 xxx.NetWorkImageView 1 NetW ...
随机推荐
- angular2 学习笔记 ( rxjs 流 )
RxJS 博大精深,看了好几篇文章都没有明白. 范围牵扯到了函数响应式开发去了... 我对函数式一知半解, 响应式更是第一次听到... 唉...不过日子还是得过...混着过先呗 我目前所理解的很浅, ...
- 玩玩SPARK
没有SCALA的东东,玩不起哈. ./spark-shell 从文件生成一个DRIVER? val logFile = sc.textFile("hdfs://192.168.14.51:9 ...
- PKUSC2016滚粗记
Day0 坐飞机来北京,地铁上接到电话,以为是诈骗电话马上就挂了,然后看了一下是北京的电话,赶脚有点不对...打回去居然是报到处老师的电话..走了几个小时,到勺园和其他学校的神犇合住.TAT,感觉第二 ...
- Aho_Corasick自动机(AC自动机)
首先,AC自动机不是Accept自动机,别以为把这段代码复制到OJ上就全都自动AC了…… 其实这玩意是Aho-Corasick 造出来的,所以你懂的. 那么这玩意能干嘛咧? •字符串的匹配问题 •多串 ...
- POJ 3281 牛双选问题
题目大意:有F种食物和D种饮料,每种食物或饮料只能供一头牛享用,且每头牛只享用一种食物和一种饮料.现在有N头牛,每头牛都有自己喜欢的食物种类列表和饮料种类列表,问最多能使几头牛同时享用到自己喜欢的食物 ...
- -_-#【React】
React Native 用于构建用户界面的JAVASCRIPT库 | ReactReact 入门实例教程颠覆式前端UI开发框架:Reactzhihu1zhihu2 React.js编程思想 < ...
- 设计模式(二): BUILDER生成器模式 -- 创建型模式
1.定义 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式. 2.适用场景 1. 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式 ...
- win7怎么安装消息队列 MSMQ
win7般都默认装了消息队列只需要进入 控制面板-程序-程序和功能-已安装更新-打开或关闭windows功能 勾选 Microsoft Message Queue (MSMQ)服务器 启动服务 行了: ...
- ip地址中的网络号,主机号
当前使用的IP地址有4个字节(32bit)组成,即IPV4编码方式.每个IP地址包括两部分:网络号和主机号.当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之同理. ...
- flash 中无法导出swf文件的解决方法
近一个星期,我的flash cs6一直导不出swf文件,郁闷了好长时间,今天终于在网上找到了解决办法:总结了一下,如下: 一.是把文字打散,变成形状. 二.是把汉字的字体设成fla ...