Ваш делегат должен соответствовать сигнатуре обработчика события, примерно так:
public delegate void UpdateLabelHandler(object sender, string strArgs);
Редактировать: Так как вы отредактировали код, чтобы включить это ... Я исправлю это соответственно ...
Глядя на ваш отредактированный код, я должен задать вопрос:
void worker_DoWork(object sender, DoWorkEventArgs e)
{
Connecter conn = new Connecter("a", "m");
conn.PageDeleted += new Connecter.PageDeletedHandler(conn_PageDeleted);
bool success = conn.DeletePage(txtPageToDelete.Text, chkRecursive.Checked);
}
Вы подключаете обработчик события «PageDeleted» .... и после него вызываете метод «DeletePage», я предполагаю, что, в свою очередь, вызывает обработчик события «conn_PageDeleted» в теле «DoWork», он выходит из области видимости когда поток 'BackgroundWorker' завершен ... и так как 'conn' находится в локальной области действия метода 'worker_DoWork', он уничтожается, и каким-то образом ваш обработчик событий портится! Вы можете это подтвердить?
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.