|The Message text:
This email was created by [MemberName] <[MemberEmail]> who thought you would be interested in the following Article:
"Getting Around InvokeRequired Without Copy and Paste"
Instead of copying and pasting the same if(InvokeRequired) logic in every multithreaded function, use attributes to make code cleaner, its centralize logic and make it self documenting.
CodeProject also contains hundreds of articles, free source code samples and applications to help in your day to day programming. Why not give it a try!