Ciao a tutti,

Mi sono ritrovato in una problematica, sicuramente comune a voi ma che io sto iniziando ad affrontare oggi.
Al fine di diminuire la qta di codice rendendolo più manutenibile, ho iniziato a centralizzare la creare di una particolare label + progress bar che viene di fatto utilizzata in tutte le mie form.

In particolare questa label era inizialmente presente in tutte le form e quando c'era da modificare qualcosa ovviamente impazzivo, e altri problemi connessi.

Il mio oggetto (Pausa) implemente semplicemente le funzioni CRUD, ed infine ho aggiunto queste funzioni.
codice:
Public Sub prepareLabelAndStatusBar(ByRef frm As Form)
        Dim lblPausa As New Label
        lblPausa.Name = "lblPausa"
        lblPausa.Size = New System.Drawing.Size(670, 360) 'set your size (if required)
        frm.Controls.Add(lblPausa)  'add your new control to your forms control collection
        lblPausa.Location = New System.Drawing.Point((lblPausa.Parent.Width \ 2) - (lblPausa.Width \ 2), (lblPausa.Parent.Height \ 2) - (lblPausa.Height \ 2) + 360) 'set your location

    End Sub

    Public Sub updateTextLblPausa(ByRef frm As Form, ByVal txt As String)
        Dim lblPausa As Label = frm.Controls.Find("lblPausa", True).FirstOrDefault()
        lblPausa.Text = txt
    End Sub

    Public Function isVisible(ByRef frm As Form) As Boolean
        Dim lblPausa As Label = frm.Controls.Find("lblPausa", True).FirstOrDefault()
        Return lblPausa.Visible
    End Function
    Public Sub showPausa(ByRef frm As Form)
        Dim lblPausa As Label = frm.Controls.Find("lblPausa", True).FirstOrDefault()
        lblPausa.Visible = True
    End Sub

    Public Sub hidePausa(ByRef frm As Form)
        Dim lblPausa As Label = frm.Controls.Find("lblPausa", True).FirstOrDefault()
        lblPausa.Visible = False
    End Sub
Nel load della form faccio il mio prepare che mi genera la label.
E poi vado ad utilizzare tutte le mie funzioni, passando il form chiamante come riferimento.

Sicuramente ho dei vantaggi con questo trucco, ma ho anche molte perplessità e volevo appunto sentire voi cosa ne pensavato o come avresti gestito una situazione del genere.

Ciao
Paolo