Quantcast
Channel: Visual Basic Tips and Tricks
Viewing all articles
Browse latest Browse all 2212

Problema con Application.DoEvents

$
0
0

Riscrivo il messaggio che avevo già inviato con una formattazione del testo improponibile e chiedo cortesemente di eliminare il precedente.

Sto cercando convertire una mia applicazione da vb6 a vbNet.
Qualcuno sa dirmi perché per far intercettare l'evento in sub GestioneErrori devo premere uno dei due button due volte se ometto l'istruzione Me.Focus (in neretto) ???
Confesso che ho avuto una lunga discussione su un altro forum http://forum.masterdrive.it/visual-...95459-new/ e alla fine ho risolto da solo ; ma vorrei capire di più.
Perché .Net si mi da questo inconveniente, mentre lo stesso codice in Vb6 non fa una piega?

Questo è il codice:

Private Sub BntUscita_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BntUscita.Click
      WsQuestion = True
      LblMessaggio.Text = "Uscire dall'applicazione ?"
      GestioneErrori()
      If Risposta = "Si" Then
          ChiudiConnessione()
          End
      End If
End Sub

Private Sub GestioneErrori()
      Risposta = ""
      Beep()
      Me.Focus()
      LblMessaggio.Visible = True
      If WsQuestion = True Then
          BntSi.Visible = True
          BntNo.Visible = True
      Else
          BntOk.Visible = True
      End If
      Do Until Risposta <>""
          Application.DoEvents()
         Thread.Sleep(50)
      Loop
      LblMessaggio.Visible = False
      BntNo.Visible = False
      BntSi.Visible = False
      BntOk.Visible = False
End Sub

Private Sub BntSi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BntSi.Click, BntNo.Click, BntOk.Click
Dim Bnt As Button = CType(sender, Button)
       Risposta = Bnt.Text
End Sub


Viewing all articles
Browse latest Browse all 2212