Test Driving GUI with Approval Tests
This video shows why you want to write unit tests for the perspectives of specifications, feedback, regression & granularity. Then write a GUI in C# using Windows Forms & Approval Tests. ApprovalTests is an open source tool that supports C#, Java, Ruby for unit or acceptance tests.