Totale n00b in C# e gli eventi anche se ho programmato per un po '.C#: serve una delle mie classi per attivare un evento in un'altra classe per aggiornare una casella di testo
Ho una classe contenente una casella di testo. Questa classe crea un'istanza di una classe di gestore di comunicazioni che riceve frame dalla porta seriale. Tutto questo funziona perfettamente.
Ogni volta che viene ricevuto un frame e vengono estratti i suoi dati, voglio che un metodo venga eseguito nella mia classe con la casella di testo per aggiungere i dati del frame alla casella di testo.
Così, senza pubblicazione di tutto il mio codice che ho la mia classe di form ...
public partial class Form1 : Form
{
CommManager comm;
public Form1()
{
InitializeComponent();
comm = new CommManager();
}
private void updateTextBox()
{
//get new values and update textbox
}
.
.
.
e ho la mia classe CommManager
class CommManager
{
//here we manage the comms, recieve the data and parse the frame
}
SO ... in sostanza, quando mi parse che frame, ho bisogno del metodo updateTextBox dalla classe form per essere eseguito. Immagino che sia possibile con gli eventi, ma non riesco a farlo funzionare.
Ho provato ad aggiungere un gestore di eventi nella classe del form dopo aver creato l'istanza di CommManager come qui di seguito ...
comm = new CommManager();
comm.framePopulated += new EventHandler(updateTextBox);
... ma io devo fare questo torto, come il compilatore non piace ...
Qualche idea ?!
Che cosa è l'errore del compilatore? –
Inoltre, è possibile pubblicare la proprietà/le funzioni di gestione degli eventi Comm manager per framePopulated –
È possibile incollare la definizione delegata di "framePopulated"? –