Witam,
Mam pewną klasę i definiuje dla niej zdarzenie w następujący sposób:
public delegate void UploadProgessHandled(object sender, UploadProgressEventArgs e);
public class UploadProgressEventArgs : EventArgs
{
private long currentSend;
private long totalSend;
public UploadProgressEventArgs(long totalSend, long currentSend)
{
this.currentSend = currentSend;
this.totalSend = totalSend;
}
public long TotalBytesToSent
{
get
{
return totalSend;
}
}
public long BytesSent {
get {
return currentSend;
}
}
}
public class Klasa{
public event UploadProgessHandled UpProgressChanged = null;
...
if (UpProgressChanged != null)
{
UploadProgressEventArgs EventArgs = new UploadProgressEventArgs(fileSize,
count);
UpProgressChanged(this, EventArgs);
}
}
Chciałbym wykorzystać informacje dostarczane przez te zdarzenie w innej klasie, w następujący sposób...
public class Klasa2{
Klasa klasa;
public Klasa2(){
klasa = new Klasa();
klasa.UpProgressChanged +=new UploadProgessHandled(up_UpProgressChanged);
}
void up_UpProgressChanged(object sender, UploadProgressEventArgs e)
{
label.Text = "" + e.BytesSent;
}
}
No i tu pojawia się problem, ponieważ podczas tej operacji wyskakuję następujący błąd :
"Nieprawidłowa operacja między wątkami: do formantu label3 uzyskiwany jest dostęp z wątku innego niż
wątek, w którym został utworzony"
Nie mam pojęci o co chodzi, dodam, że jeśli robię np. Console.WriteLine("" + e.BytesSent), to wszystko działa poprawnie.
Z góry dzięki za pomoc, pozdrawiam :).