Intro to Windows Forms (WinForms) in .NET 6

209,594
0
Published 2022-08-08
Windows Forms, also known as WinForms, is one of the original project types in .NET. It is designed to be a rapid application development environment for desktop applications. Over the past twenty years, other desktop application types such as WPF, UWP, and now .NET MAUI have come along. So, when would we use WinForms? In this video, I am going to show you what WinForms is, how to build it, what the best practices are, how to avoid some common pitfalls, and when you should use the WinForms project type. This project type still has value, even though we have other, shinier tools in our toolbox.

Full Training Courses: IAmTimCorey.com/
Source Code: leadmagnets.app/?Resource=IntroToWinForms

Mailing List: signup.iamtimcorey.com/

All Comments (21)
  • WinForms are not the sexiest GUI of the world in 2022 but still by far the quickest and the most powerfull to implement. And if you take time to customise the controls you can have something way more "modern look alike". So thanks you Tim for still giving us tutorials on WinForms :).
  • your hour half video has taught me more about this one section than my professor has in an entire semester
  • @timyoung6495
    Thanks for the wonderful video! I learned quite a lot of subtle stuff in this episode! Also, if I recall correctly, the reason for allowing Tab order on labels is so that you can assign accessibility keys to the non-labelled controls. For instance a label with a tab order 3 and a text property of &First Name will give focus to a text box with a tab order of 4 when you press ALT+F. So, it's a way of setting shortcut accessibility to things like textboxes, comboboxes, listboxes, etc. via their preceding labels. (At least that's how I remember it to be.)
  • @S3Kglitches
    Finally had time to watch and thanks for a nice video with also a few tips that I didn't know although being a WinForms developer for 2 years in a row: 1) controls inherit font and other default properties from Form 2) the alignment line when aligning by mouse is the position of text in the control This video needs a sequel with these two important best practices - using TableLayoutPanel for sizing by ratio and UserControls to modularize UI. Nice to see the naming convention of firstNameLabel which I actually adopted somehow naturally even before seeing this.
  • @Skygormo
    I am taking Advanced Object-Oriented Programming this semester using C#. I wish I had watched this video first. Windows Forms had been such a headache. Thank you for the great work!
  • This was an amazing course I myself am a javascript developer and have been looking for a proper tutorial that will actually explains the structure of a winforms application so I can pick it up and get started on my own and this video was exactly what I needed. S good that I am going to also watch a course of yours on OOP in c# to freshen up again. Thanks ❤
  • @OpenZipper
    Second programming YouTuber with an actual personality enjoyable to watch🎉
  • Hello just starting out this is a great introduction and I just realized after clicking your channel that it is a goldmine. Thank you!
  • @megakyle83
    I found a youtube tutorial on making Pong with C# and it was WinForms. It didn't take long for the magic to break, lol. I am so glad I found this video, it helped upgrade my understanding of WinForm applications. Also great advice at the end of the video, I am going to check out your class library video next. Thank you!
  • @VitaliChuzha
    Do not underestimate Windows forms! It’s the best way to program for Windows for last 22 years.
  • When doing some research about MAUI recently, I also stumbled upon WinUI 3. I'd love to see you cover that in an upcoming video.
  • @ProjectFrugal
    Great video. The tips were good especially around naming the elements "before" clicking them and the associated designer error. Always wondered about those and why they were always named the "old" way! :)
  • @bstarchild37
    this was great answered a lot of my questions i loved the tim explains it
  • @uwejadick4550
    After 6 months of trying to get any kind of WPF application, with a resource dictionary, a menu, and two pages to work I give up and stick with win forms. Most of the tutorials are really crappy. Thank you for your tutorials on winforms. I am really happy that I could learn at least a little bit of C#
  • @andergarcia1115
    Thanks Master, It's great to see the same topic explored from a different perspective. While there are many similarities, there are also some interesting nuances that make this approach unique.
  • Thanks for your sharing sir, it helps a lot for studying.
  • Hello Tim! You are a legend! I had a problem that the buttons do not work and i found here the solution. You have just earned a Sub!
  • @_isDev
    man this is an amazing begginers tutorial! the way you tech is great, clear and awesome! I come from PyQt5 and with this video I could understand more of desktop development! I am changing to C# and I want to start with WinForm
  • @trevoC132
    Personally what I find with Hungarian camel case is that naming all your Labels lblFirstName and then lblLastName or tbFirstName for textbox1 first name allows you to find what you are looking for quicker in the drop down select when looking for controls. I realize the firstname example is not the best as most of us would see that as first name and look in F, but when you can't remember the naming scheme and have dozens or more controls, knowing you are looking for a button (which there might be only 2 lets say) allows you to go to btnDDD or b in the list and see only 2 very quickly rather than scroll through the entire list looking for some other naming convention. I realize the entire industry flip flops on these things all the time, but I don't find the argument that this is how you say it naturally as appealing as me finding it quickly in the drop down select on a form that is so complex (with controls hidden behind other controls for those of you who say click it directly) that it is difficult to find the name when unknown. justMyTwoCents = habit