Вам на самом деле не нужно представление состояния в Windows Forms, потому что вы можете сохранять состояние, например, в своем классе основного окна, используя открытые свойства. И пока ваша основная форма живет (обычно это время жизни приложения), состояние будет сохраняться. Если вам нужно сохранить состояние после закрытия приложения, вы можете сохранить его в файлах или базе данных.
ViewState требуется в ASP.NET, потому что форма ASP.NET уничтожается после каждого запроса, и вы не можете хранить в ней переменные экземпляра. Вы можете использовать статические члены, но тогда у вас возникают проблемы, так как статические члены являются общими для всех пользователей этого приложения ASP.NET.