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
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5