У меня есть устаревшее приложение, которое использует элемент управления 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()
?