Ir para conteúdo
Fórum Script Brasil
  • 0

Como abrir e fechar um form.showdialog dentro de uma thread.


jean maestrelli

Pergunta

Pessoal, tenho um form com uma picturebox que contem um gif de loading.

Estou tentando fazer com que antes de executar um método ele exiba essa imagem de carregando e feche quando terminar.

ele até funciona mas em determinado momento conforme o uso ele me retorna o erro:

An unhandled exception of type 'System.Threading.ThreadAbortException' occurred in System.Drawing.dll

Additional information: O thread estava sendo anulado.

 

Public Class clsModoCarregando

        Dim FrmLoading As New Loading
        Dim trdelegate As New ThreadStart(AddressOf carregarFormLoading)
        Dim trd As New Thread(trdelegate)
   
        Private Sub carregarFormLoading()

            Try

                FrmLoading.ShowDialog()

            Catch ex As ThreadAbortException
                Thread.ResetAbort()
            End Try

        End Sub

        Public Sub ExibirLoad()

            If Not trd.IsAlive Then

                trd.Name = "threadCarregando"
                trd.IsBackground = True
                trd.Start()

            End If

        End Sub

        Public Sub FecharLoad()

                If trd.IsAlive Then

                    trd.Abort()
                    trd.Join()

                End If

        End Sub

    End Class
  
  
  'evento do botao pesquisar do form
      Private Sub btnPesquisar_Click(sender As Object, e As EventArgs) Handles btnPesquisar.Click
		 
  		Dim ModoCarregando As New Ambiente.clsModoCarregando
        
        If lstConsulta.Items.Count > 0 Then

			ModoCarregando.ExibirLoad()
            dtgPesquisa.DataSource = insPesquisa.pesquisar(lstConsulta, dtNomesPesquisa.Rows(0)("Tabela"))
            dtgPesquisa.DataMember = dtNomesPesquisa.Rows(0)("Tabela")
			ModoCarregando.FecharLoad()

        Else

            If txtValorPesquisa.Text = String.Empty Then

                MsgBox("informe o valor a ser pesquisado.", vbInformation)
                txtValorPesquisa.Focus()

            Else

                MsgBox("Adicione a consulta antes de pesquisar.", vbInformation)
                btnAdicionar.Focus()

            End If

        End If

    End Sub

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...