2014-12-06 69 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" 

出于某种原因,这个固定。