• 在RichTextBox控件中添加图片和文字


     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 接口,该接口的方法为数据传输提供与格式无关的机制。

    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)进行检索。

  • 相关阅读:
    2-5 Flutter开发环境与Android开发环境设置详解(Windows)
    2-3 Flutter开发环境与iOS开发环境设置(Mac)
    2-1 本章作业&2-2 开发系统与工具选择
    ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置
    ASP.NET Core会议管理平台实战_3、认证、授权表迁移
    29.镜像容器与仓库
    27.集成EFCore配置Client和API
    26.OpenIdConnect获取用户信息的两种方式
    25.ProfileService实现(调试)
    24.集成ASP.NETCore Identity
  • 原文地址:https://www.cnblogs.com/smallrock/p/3356641.html
Copyright © 2020-2023  润新知