How to use delegate and event?

I'm trying to learn C# and programming in general and I have encountered a problem. I have tried to search for answers but failed, so I'm sorry if I'm duplicating another topic.

I have 1 windows form (Form1), external class (Class1), button and label on Form.
This class is a simple file shredder, that starts on button click. Label1.text should be updated from the external class, showing what file is being shredded right now.

I have found out, that I need to use delegates and events to make that happen correctly, but I don't know how to use them right.
Code here:

to access the property, but it didn't work. I can't understand where should I create a delegate, an event and where to subscribe to this event.

UPDATE: I have found out what was the problem. I had several threads in my program and I couldn't access label on form through my class. I had to use callback and after that subscription and event worked perfectly. Thank you, Thorsten Dittmar, for showing the right way.

So what would I do in your case? I'd create a nonstatic class FileShredder that implements one or more events similar to by example and has a nonstatic method to shred a file.

Before starting any task in your UI, I'd create an instance of this class, attach the required event handlers and then I'd use that instance to shred the files. In the event handlers in your UI class, change the labels and stuff.