在Windows窗体

时间:2018-01-25 15:25:54

标签: vb.net winforms

当我点击按钮时,我从其他表单触发表单。新表单成功加载。另请注意,新表单包含文本框和按钮。我正在检查在文本框的 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秒的延迟。我不确定是什么原因导致任何帮助都会受到高度赞赏。

0 个答案:

没有答案