つい最近、elementhost を使用して Winforms で WPF Textbox を使用していました。少なくとも 100,000 文字以上、2,000 行を超える大きなテキスト ファイルをロードしました。ファイルを開き、テキストをwpfテキストボックスに通常どおり追加し、テキストボックスを簡単にスクロールできます。このドキュメントを読み込んでいるときにプログラムを最小化すると、プログラムが動かなくなり、最大化するのに少なくとも 1 分以上かかることがあります。ドキュメントやプログラムがドキュメントを開く方法に問題はありません。何が問題なのかわかりません。もしそうなら、何が問題になる可能性がありますか、誰でもこれを解決できますか。
プログラムをデバッグしましたが、パフォーマンスだけでデバッグエラーはありませんが、最小化すると正常にロードされて開きます。
ファイルを開くコード:
''
Dim WpfTest1 As New Sp.Tb
Dim ElementHost1 As System.Windows.Forms.Integration.ElementHost = Me.Controls("ElementHost1")
Dim TheTextBox As System.Windows.Controls.TextBox = CType(ElementHost1.Child, Tb).ctrl_TextBox
''
Dim OFD As New OpenFileDialog
OFD.Title = "Open"
OFD.Filter = "Text Documents (*.txt) | *.txt|All Files |*.*"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
Using sr As New StreamReader(OFD.FileName, Encoding.Default)
TheTextBox.Text = sr.ReadToEnd
Var.SaveLocation = OFD.FileName
sr.Close()
Var.MadeChanges = False
lbl_LastSaved.IsLink = True
End Using
Me.Text = System.IO.Path.GetFileNameWithoutExtension(OFD.FileName) + " - " + ProductName
lbl_LastSaved.Text = "Last Saved " + System.IO.File.GetLastWriteTime(Var.SaveLocation).ToString("f")
SaveRecentFile(Var.SaveLocation)
End If