Torna al Thread
''''''''''''
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'==========AVVIO LA CONNESSIONE AL DATABASE==========
Me.ProgressBa.Visible = True
Me.BackgroundWorker1.RunWorkerAsync()
End Sub
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
connessione()
End Sub
'Crei un delegato che punti alla proceduraCambiaProprietà
Delegate Sub CambiaPropriet(ByVal testotoolstrip As String, ByVal nomimm As String, ByVal buttontoolstip As Boolean)
Dim CambiaProprie As New CambiaPropriet(AddressOf CambiaProprietà)
'Crei una procedura che ti cambia le proprietà dell interfaccia del form, passando i valori come parametri
Private Sub CambiaProprietà(ByVal testotoolstrip As String, ByVal nomimm As String, ByVal buttontoolstip As Boolean)
'Quando viene richiamata la procedura controlla se la procedura e stata richiamata dal thread esterno o dal thread principale
'La proprietà invoke required restituisce true se la procedura è stata chiamata da un thread esterno
If Me.InvokeRequired Then
'Chaiama il metodo invoke del form al quale si passano come parametri il delegato puntante alla stessa procedura e i parametri della procedura
'Tramite invoke la procedura che all'inizi era stata chiamata dal thread esterni ora verra eseguito nel thread proncipale
Invoke(CambiaProprie, testotoolstrip, nomimm)
Else
'InvokeRequired ha restituito false vuol dire che la procedura è gia in esecuzione nel thread principale
Me.ToolStripStatusLabel1.Text = testotoolstrip
Me.ToolStripStatusLabel1.Image = Image.FromFile(My.Application.Info.DirectoryPath & "\image\" & nomimm)
Me.ToolStripButton3.Enabled = buttontoolstip
Me.Panel1.Enabled = Not buttontoolstip
End If
End Sub
Private Sub connessione()
Try
REM Db.ConnectionString = " Data Source=apollo;Initial Catalog=c59onlinefr;Integrated Security=SSPI;"
Db.ConnectionString = "Data Source=SQLB10.WEBCONTROLCENTER.COM,1433;Network Library=DBMSSOCN;Initial Catalog=C59onlinefr;User ID=trinity;Password=skyangel;"
Db.Open()
Catch
MessageBox.Show("Attenzione impossibile collegarsi al database dell'Apt di Frosinone", "C59.Net", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try
If Db.State = ConnectionState.Closed = True Then
MessageBox.Show("Connessione non attivata", "C59.Net", MessageBoxButtons.OK, MessageBoxIcon.Information)
CambiaProprietà("Connessione al database non attiva", "db_remove.png", False)
Return
End If
If Db.State = ConnectionState.Open = True Then
CambiaProprietà("Connessione al database attiva", "db_add.png", True)
End If
End Sub