2014-12-06 5 views
0

최근에 elementhost를 사용하여 Winforms에서 WPF 텍스트 상자를 사용하고있었습니다. 적어도 10 만개 이상의 문자와 2,000 줄 이상의 큰 텍스트 파일을로드했습니다. 그것은 파일을 열고 정상적으로 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

문서를로드하는 코드를 공유 할 수 있습니까? –

+0

@HemantPatel 업데이트 됨. – Zer0

+0

어떤 이벤트로 인해로드됩니까? 페인트 이벤트 사이클과 상호 작용합니까? – AWinkle

답변

0

문제는 스크롤바 및 가시성했다.

전 :

VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Visible" 

후이 그것을 고정 몇 가지 이유를 들어

VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto" 

.