RichTextBox Paste сталкивается с проблемами - PullRequest
0 голосов
/ 10 октября 2018

У меня есть устаревшее приложение, которое использует элемент управления RichTextBox для управления документом.

У меня есть источник, но я не могу перекомпилировать из-за лицензирования.

Разделвызывающие проблемы ниже:

RichTextBoxPrintCtrl1.ReadOnly = False
i = RichTextBoxPrintCtrl1.Find(Chr(160))
If i > 0 Then
    RichTextBoxPrintCtrl1.SelectionStart = i
    RichTextBoxPrintCtrl1.SelectionLength = 1
    TmpStr = Pub_Base_Folder & "\Templates\Stamp.gif"
    If IO.File.Exists("filepath.gif") = True Then

        Img = Image.FromFile(TmpStr)
        Clipboard.SetImage(Img)
        RichTextBoxPrintCtrl1.Paste() ' <-- Issue is here

    End If
    Clipboard.SetText(vbNewLine & Today.ToLongDateString)
    RichTextBoxPrintCtrl1.Paste() ' <-- Issue is here
    TmpStr = "filename.rtf"
    If IO.File.Exists(TmpStr) = True Then
        IO.File.Move(TmpStr, TmpStr & ".tmp")
        RichTextBoxPrintCtrl1.SaveFile(TmpStr)
        IO.File.Delete(TmpStr & ".tmp")
    End If
End If

Приложение использует RichTextBox.Paste() для ввода данных в RichTextBox (это кажется мне безумным), но, похоже, либо вставляет данные в неправильном порядке, либо пропускает один, либодругие элементы или сохранение документа перед вставкой каких-либо данных.Я предполагаю, что это потому, что операция .Paste() не является синхронной?

Можно ли как-нибудь предотвратить это поведение без необходимости перекомпиляции?

Если нет, то можно ли это исправить только с помощью DoEvents()?

...