【问题标题】:How to add pictures to RichTextBox in a loop?如何循环添加图片到RichTextBox?
【发布时间】:2020-12-14 08:23:00
【问题描述】:

我正在向 RichTextBox 添加不同的字符串数组,并且我也想插入图片。我搜索了一种方法,他们都说粘贴它。我试过了,但它不能循环工作。

Dim df As DataFormats.Format = DataFormats.GetFormat(DataFormats.Bitmap)
for i as integer = 0 to 50
 RTF1.text = RTF1.text & arr1(i) & arr2(i) & vbnewline 
 Dim bmp As New Bitmap(picarr(i))
 Clipboard.SetImage(bmp)
 RTF1.Paste(df)
next i

我也试过SendKeys,因为当我按下 Ctrl+V 时,它会粘贴图片。另外,我尝试退出循环,它只粘贴最后一张图片。

【问题讨论】:

  • 请注意,Step 1 是多余的。仅当您想将 i 增加 1 以外的数字时,才需要使用 Step
  • 什么是 picarr,它是如何填充的?您是否已验证符合预期?
  • 它的图片文件名数组,是的,它可以工作,因为当我按 ctrl V 时,它会粘贴图像,所以它可以工作

标签: vb.net image richtextbox


【解决方案1】:

每次设置 RichTextBox.Text 属性时,都会丢失它之前包含的所有 RTF 数据(包括格式、图像等),并且您只保留纯文本(因为 = RTF1.Text & ...)。

改为使用AppendText() 方法,如下所示:

Dim df As DataFormats.Format = DataFormats.GetFormat(DataFormats.Bitmap)
For i As Integer = 0 To 50
    RTF1.AppendText(arr1(i) & arr2(i) & vbNewLine)
    Using bmp As New Bitmap(picarr(i))
        Clipboard.SetImage(bmp)
    End Using
    RTF1.Paste(df)
Next

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2015-07-07
    • 1970-01-01
    • 2013-08-03
    • 2021-04-08
    • 2020-10-05
    • 1970-01-01
    • 2016-02-23
    • 2011-12-02
    相关资源
    最近更新 更多