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对象传给该办法即可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)richtextbox 插入,将其 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)进行检索。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-141475-1.html
搞不懂他们连鉴定对象是谁都不知道还要鉴定什么
我宝明明最高SM炸了
后来部分资金20W跟他做了两次后才追加的