I had a similar problem. I solved it by using the Windows Event handling mechanism.
You need to read about delegates and Event handlers in the help (I am assuming you are using Visual Studio or one of the Visual C++, C# or VB editions).
Basically, your function that is called from the DLL has to "raise an Event". You can define a custom Event, and a custom Event handler in your Windows Form1.hmuch like you would handle any other Event from a control in the form.
You have to "wire in" your event handler. This takes a bit of getting used to and a good deal of trial and error.
Hope this helps.
David Harrison.