当我点击按钮时,我从其他表单触发表单。新表单成功加载。另请注意,新表单包含文本框和按钮。我正在检查在文本框的 TextChangeEvent 上输入的文本长度。但是,当我尝试在文本框中输入文本时,我会面临至少30秒到超过2分钟的延迟,在此期间整个表单都没有响应。这也是第一次发生之后才能顺利进行。以下是代码:
Form1中:
frmPasswortAbfr.Initialisieren(False, lArchiv)
Meldungen.Log(9, "frmMain.PasswrdFrm Initialized" + DateTime.Now.ToString(), "MyTestFunction")
If frmPasswortAbfr.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
Meldungen.Log(9, "frmMain.PasswrdFrm password ok" + DateTime.Now.ToString(), "MyTestFunction")
End If
Form2(frmPasswortAbfr):
Friend Sub Initialisieren(ByVal pErsteEingabe As Boolean, ByVal pArchiv As Core.ArchivBes)
Try
Meldungen.Log(9, "frmPasswrd Initialisieren Entered" + DateTime.Now.ToString(), "MyTestFunction")
mArchiv = pArchiv
mErsteEingabe = pErsteEingabe
Me.Text = mResources.GetString("ArchivbereichEntsperren") & " - " & mArchiv.Name
If pErsteEingabe Then
lblInfoText.Visible = True
pnlBackground.Location = New Point(-3, 50)
txtKennwortWdh.Visible = True
lblPasswortWdh.Visible = True
lblPasswort.Location = New Point(12, 107)
txtKennwort.Location = New Point(12, 126)
lblInfoText.Text = My.Resources.AlleSeitenUndDokumenteInDiesemArchivbereichWerdenMitEinemPersoenlichenKennwortVerschluesselt
lblInfoFett.Text = My.Resources.BitteMerkenSieSichDiesesKennwortUnbedingt
lblInfoNormal.Text = My.Resources.IhreDatenGehenAnsonstenVerloren
lblFehlerMeldung.Text = My.Resources.DieKennwoerterStimmenNichtUeberein
btnAbbrechen.Location = New Point(237, 227)
btnSpeichern.Location = New Point(143, 227)
btnSpeichern.Text = My.Resources.Speichern
lblFehlerMeldung.Location = New Point(34, 205)
picFehlerIcon.Location = New Point(12, 202)
picHinweis.Image = My.Resources.warning24
Me.Height = 298
Else
lblInfoText.Visible = False
pnlBackground.Location = New Point(-3, 0)
txtKennwortWdh.Visible = False
lblPasswortWdh.Visible = False
lblPasswort.Location = New Point(12, 57)
txtKennwort.Location = New Point(12, 76)
lblInfoFett.Text = My.Resources.DieserArchivbereichIstGesperrt
lblInfoNormal.Text = My.Resources.BitteGebenSieIhrPersoenlichesKennwortEin
lblFehlerMeldung.Text = My.Resources.DasKennwortIstNichtRichtig
btnAbbrechen.Location = New Point(237, 127)
btnSpeichern.Location = New Point(143, 127)
btnSpeichern.Text = My.Resources.Entsperren
lblFehlerMeldung.Location = New Point(34, 105)
picFehlerIcon.Location = New Point(12, 102)
picHinweis.Image = My.Resources.lock24
Me.Height = 198
Meldungen.Log(9, "frmPasswrd Initialisieren End" + DateTime.Now.ToString(), "MyTestFunction")
End If
Catch ex As Exception
Debug.Assert(False)
End Try
End Sub
Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click
Meldungen.Log(9, "frmPasswrd btnSpeichern_Click Entered" + DateTime.Now.ToString(), "MyTestFunction")
If mErsteEingabe Then
If Not txtKennwort.Text = txtKennwortWdh.Text Then
lblFehlerMeldung.Visible = True
picFehlerIcon.Visible = True
txtKennwortWdh.Refresh()
Else
Try
mArchiv.SetSchluessel(txtKennwort.Text)
Catch ex As Exception
Debug.Assert(False)
End Try
DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
End If
Else
Try
mArchiv.SetSchluessel(txtKennwort.Text)
DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
Catch ex As Exception
lblFehlerMeldung.Visible = True
picFehlerIcon.Visible = True
txtKennwort.Refresh()
End Try
Meldungen.Log(9, "frmPasswrd btnSpeichern_Click end" + DateTime.Now.ToString(), "MyTestFunction")
End If
End Sub
Private Sub frmPasswortAbfr_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Meldungen.Log(9, "frmPasswrd frmPasswortAbfr_Load Entered" + DateTime.Now.ToString(), "MyTestFunction")
lblFehlerMeldung.Visible = False
picFehlerIcon.Visible = False
' txtKennwort.Text = ""
' txtKennwortWdh.Text = ""
btnSpeichern.Enabled = False
Meldungen.Log(9, "frmPasswrd frmPasswortAbfr_Load end" + DateTime.Now.ToString(), "MyTestFunction")
End Sub
Private Sub txtKennwort_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtKennwort.TextChanged
Meldungen.Log(9, "frmPasswrd txtKennwort_TextChanged Entered" + DateTime.Now.ToString(), "MyTestFunction")
If Not mErsteEingabe Then btnSpeichern.Enabled = txtKennwort.Text <> ""
Meldungen.Log(9, "frmPasswrd txtKennwort_TextChanged end" + DateTime.Now.ToString(), "MyTestFunction")
End Sub
以下是日志文件条目: 。 。
25.01.2018 12:45:25 9 MyTestFunction frmPasswrd frmPasswortAbfr_Load ....
25.01.2018 12:45:55 MyTestFunction frmPasswrd txtKennwort_TextChanged已输入...... 25.01.2018 12:45:55 MyTestFunction frmPasswrd txtKennwort_TextChanged end ... 。
如你所见,有30秒的延迟。我不确定是什么原因导致任何帮助都会受到高度赞赏。