Smarter WinForms multithreading
Published January 11, 2006
Among the .NET set, Windows Forms comprise the fundamental building blocks for a snazzy application. As far as game development goes, they're excellent for prototyping or tools (and if you're using managed DirectX, you almost certainly paint to a Form surface).
Graham Wihlidal uses them extensively for his upcoming publication (the name of which escapes me at the moment), which gets you knee-deep in tools development for games -- level editors, environment builders, world creators, that sort of thing.
Unfortunately, if you do any kind of multithreaded processing, you've probably been tempted to use DoEvents more than once; more so if you've previously used or are currently using Visual Basic.NET. While not intrinsically a bad idea, it's indicative of bad design. But worry not! There are smarter alternatives, as we outline
here.
Also, if you're looking for a replacement that solves about 90% of your DoEvents problems,
here's one good way to solve your woes. Best of all, it's drag and drop, so you can use it straight from the designer.
-- k2