1 public void SetText(RichTextBox rtb) 2 { 3 rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.NewLine; 4 rtb.BackColor = Color.White; 5 rtb.ForeColor = Color.Blue; 6 rtb.SelectionColor = Color.White; 7 rtb.Font = new Font("黑体", 22); 8 9 //获得要复制图片的完整路径 10 string picPath = Application.StartupPath + "\\accept.png"; 11 //建立Image对象 12 Image myImage = Image.FromFile(picPath); 13 //建立一个IDataObject对象存储图片 14 IDataObject data = new DataObject(); 15 //调用SetData方法储存图片 16 data.SetData(myImage); 17 //将图片复制到剪贴板上 18 Clipboard.SetDataObject(data, false); 19 rtb.SelectionStart = rtb.Text.Length; 20 //将剪贴板中的内容贴入RichTextBox中 21 rtb.Paste(); 22 rtb.AppendText(Environment.NewLine + "测试结束!"); 23 }
效果:
这是一个在RichTextBox中插入图片和文字的方法,使用时将RichTextBox对象传给该方法即可,方法中的文字是定死的,可以根据自己的需求修改文字内容和图片路径。调用剪贴板时可以直接将Image对象传给SetDataObject方法,放在剪贴板上的对象必须是可序列化的,这里调用IDataObject接口来实现剪贴板中的Clipboard和拖放操作。下面说下DataObject类的使用说明,截取自MSDN:
DataObject 实现 IDataObject 接口,该接口的方法为数据传输提供与格式无关的机制。
IDataObject。
DataFormats.Format 类的实例来实现自己的格式。
false。
false。
GetDataPresent。
GetText)进行检索。