Since .NET 6, we updated the WinForms runtime to support and improve the Visual Basic Application Framework. In Visual Studio 2022, we also modernized the related user experience. Time to take a closer look how all this works behind the scenes, lets you move from .NET Framework to .NET 6/7+ and provides a great opportunity to modernize your WinForms Visual Basic Apps!
When you design a WinForms Form, it gets generated into a method called InitializeComponent. When you reopen that Form, it gets recreated by interpreting that code. In Visual Studio 2022 17.5, we've modernized the code generation process. And made some changes.
Interested in what is going on and the future of .NET languages, (C#, F#, and Visual Basic)? We have just published an updated version of the .NET Language Strategy on our documentation!
The WinForms code-behind approach has always made app development in WinForms unrivaled fast. For complex line-of-business apps, however, it can become an architectural challenge. New Command- and Data Binding Features in .NET 7 make UI-Controllers and MVVM an alternative and allow them also be reused in UI stacks like .NET MAUI.
A rich user control ecosystem has always been one of the most important WinForms success guarantors. While the runtime support for Custom Controls remains unchanged, there are breaking changes with the design time support for the new Windows Forms (WinForms) .NET Designer.