Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: C# Eigenes Ereiegnis für eine Klasse

  Alt 16. Mär 2005, 14:33
Puh. So weit habe ich es geschafft:
Code:
public event EventHandler Progress;
protected void OnProgress(EventArgs e, long Done)
{   
   if(Progress != null)
   {
        //???      
   }
}
Done hat hier schon den ruichtigen Wert. Nur wie bekomme ich den nach private void OnProgress(object sender, EventArgs e) von WinForm?

Das steht in meiner Klasse drinne. So sieht der Aufruf beim teilen aus:
Code:
if (Done != OldDone)
{
   OldDone = Done;
   OnProgress(EventArgs.Empty, Done);
}
So die Zuweisung beim Erstellen des Objektes un der neue EventHandler:
Code:
private void OnProgress(object sender, EventArgs e)
{
   //progressBar1.Value =
   Application.DoEvents;
}
Ich habe gerade gemerkt, wenn ich hier eine Messaagbox einbaue, dann wird die gar nicht aufgerufen.
Code:
private void btnGo_Click(object sender, System.EventArgs e)
{
   FileSplitter fs;
   try
   {
      fs = new FileSplitter();
      fs.Progress += new EventHandler(OnProgress);
      fs.Split(txtFile.Text, txtFolder.Text,
        Convert.ToInt32(lblCntFiles.Text),
        Convert.ToInt32(txtFileSize.Text));
   }
   catch(FSException fse)
   {   
      MessageBox.Show(fse.Message, APPNAME, MessageBoxButtons.OK, MessageBoxIcon.Error);
   }
}
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat