0
就在最近,我在使用elementhost的Winforms中使用WPF文本框。我加載了一個至少包含100,000個以上字符和超過2000行的大文本文件。它打開文件並通常將文本添加到wpf文本框,我可以輕鬆地滾動瀏覽文本框。當我在加載此文檔時將程序最小化時,該程序卡住了,並且有時需要至少1分鐘或更長時間才能最大化返回。文檔沒有錯或程序打開文檔的方式我只是不明白它有什麼問題。如果有的話,可能會有什麼問題,任何人都可以解決這個問題。Winforms - 最小化時應用程序被卡住
我調試的程序,沒有調試錯誤只是性能我猜,但它加載和打開罰款時,只是當我最小化。
代碼打開文件:
''
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
你能分享加載文檔的代碼嗎? – 2014-12-08 15:44:35
@HemantPatel更新。 – Zer0 2014-12-08 20:43:01
什麼事件導致它被加載?他們是否與繪畫事件循環互動? – AWinkle 2014-12-08 21:04:20