CARREGANDO EM SEGUNDO PLANO
Boa noite galera, como faço para carregar algumas informações do banco de dados sem travar a aplicação? por exemplo, colocar um gif escrito Loading...ou carregando...
Procure informacoes sobre thread ou backgroundwork, esse segundo é mais simples inicialmente, ai vc ve o q quer, mostrar uma tela ou carregar sem congelar a aplicação ou ate os dois juntos
Uma alternativa mais simples e mais indicada do que threads separadas é o uso de OOP com eventos. Durante o carregamento dos dados, o método lança eventos que podem ser capturados em uma tela.
Então, implementei esse backgroundwork no meu sistema, está funcionando perfeitamente como eu queria.
Porém, não tem como carregar um label, text, ou criar padrões com user control e flowlayout
Porém, não tem como carregar um label, text, ou criar padrões com user control e flowlayout
Você está usando OOP? Se estiver, como disse, você pode criar eventos nos métodos de leitura de dados que demoram e então capturar esses eventos na tela e usar conforme quiser.
Citação::
Então, implementei esse backgroundwork no meu sistema, está funcionando perfeitamente como eu queria.
Porém, não tem como carregar um label, text, ou criar padrões com user control e flowlayout
Ele retorna informações até durante o trabalho em segundo plano
KERP, como posso capturar esses eventos?
Citação::
KERP, como posso capturar esses eventos?
Você cria a classe, cria eventos e delegates para capturar. Fiz um exemplo disse um tempo atrás para alguém daqui, nem me lembro mais quem, mas ainda tenho aqui
Entrando na conversa; estou tendo dificuldades em implementar esse tipo delegate em por exemplo um evento de conexão slq que retorna um tipo List(of)
o evento é esse;
tava vendo uns tutoriais do macoratti sobre delegates, e também o seu exemplo, más ainda n entendi bem como funciona,
o evento é esse;
Public Shared Function Todos(nick As String) As List(Of Clientes)
Dim SqlAll As String = [Ô]SELECT c_idcliente, c_nick, c_level, c_vip, c_staff, c_gm, c_criador, c_img, c_imgCapa, trofeu FROM cliente inner join estante on estante.idcliente = cliente.c_idcliente where c_nick LIKE [ô]%[Ô] & nick & [Ô]%[ô] order by c_idcliente desc;[Ô]
Dim result As New List(Of Clientes)
Try
Using conn As New MySqlConnection(server_conf)
Using cmd As New MySqlCommand(SqlAll, conn)
Try
conn.Open()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Try
Using rdr As MySqlDataReader = cmd.ExecuteReader()
While rdr.Read()
result.Add(New Clientes(rdr.Item([Ô]c_idcliente[Ô]), rdr.Item([Ô]c_nick[Ô]), rdr.Item([Ô]c_level[Ô]), rdr.Item([Ô]c_vip[Ô]), rdr.Item([Ô]c_staff[Ô]), rdr.Item([Ô]c_gm[Ô]), rdr.Item([Ô]c_criador[Ô]),
rdr.Item([Ô]c_img[Ô]), rdr.Item([Ô]c_imgCapa[Ô]), rdr.Item([Ô]trofeu[Ô])))
End While
End Using
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Using
End Using
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Return (result)
End Function
tava vendo uns tutoriais do macoratti sobre delegates, e também o seu exemplo, más ainda n entendi bem como funciona,
O que você tem aà é simplesmente um método. Não vi em lugar algum qualquer evento sendo disparado. Talvez você esteja entendendo errado o que seja um evento.
me confundi então, evento é tipo, click, MouseHover, Leave....
o que seria um evento desse tipo então?
o que seria um evento desse tipo então?
Faça seu login para responder