Se non ho capito male:
//tua Classe
public class Classe
{
//Libreria dell'Hardware
Libreria lib = new Libreria();
public Classe()
{
lib.CodiceLetto += new EventHandler(Lib_CodiceLetto);
}
public void LeggiCodice()
{
lib.LeggiCodice();
}
void Lib_CodiceLetto(object sender, EventArgs e)
{
OnCodiceLetto();
}
public event EventHandler CodiceLetto;
protected void OnCodiceLetto()
{
if (CodiceLetto != null)
CodiceLetto(this, new EventArgs());
}
}
//UserControl
public MainPage()
{
InitializeComponent();
Classe clas = new Classe();
clas.CodiceLetto += new EventHandler(Clas_CodiceLetto);
clas.LeggiCodice();
}
void Clas_CodiceLetto(object sender, EventArgs e)
{
//a questo punto nello UserControl sai che il codice a barre è stato letto
}In generale, un evento si scatena e una o più classi esterne si sottoscrivono e vengono "informate".