2014-12-06 33 views
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 
+0

你能分享加載文檔的代碼嗎? – 2014-12-08 15:44:35

+0

@HemantPatel更新。 – Zer0 2014-12-08 20:43:01

+0

什麼事件導致它被加載?他們是否與繪畫事件循環互動? – AWinkle 2014-12-08 21:04:20

回答

0

問題是滾動條和他們的知名度。

前:

VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Visible" 

後:

VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" 

出於某種原因,這個固定。

相關問題