We may earn an affiliate commission when you visit our partners.
Course image
T O

Update 7/21/2023: Added an article lesson with a zip showing how to make a simple platformer game using Windows Forms and C#.

Update 7/20/2023: Some Unity Scripts are also now added . These are good for beginning learners. They are all heavily commented so it's very important to read all the comments to understand what the code is doing. They're on the bottom in article form.

Update 7/19/202023: Added on bottom a zipped up C# project that amounts to a customer calendar generator. I haven't made videos on this yet, as I lack the time.

Read more

Update 7/21/2023: Added an article lesson with a zip showing how to make a simple platformer game using Windows Forms and C#.

Update 7/20/2023: Some Unity Scripts are also now added . These are good for beginning learners. They are all heavily commented so it's very important to read all the comments to understand what the code is doing. They're on the bottom in article form.

Update 7/19/202023: Added on bottom a zipped up C# project that amounts to a customer calendar generator. I haven't made videos on this yet, as I lack the time.

  • Dynamic calendar generation based on selected months, days, and year.

  • Month and day selection using CheckedListBox controls.

  • Year selection using a NumericUpDown control.

  • Copying text from a top RichTextBox to all corresponding RichTextBoxes in the calendar.

  • Clearing text from all RichTextBoxes in the calendar.

  • Zoom control using a TrackBar to adjust the calendar size.

  • Font size adjustment using a separate TrackBar for the RichTextBoxes' font size.

Update 7/19/2023: Added on bottom a zipped up C# project that creates a draggable text box whose location and content are saved between form loads. It's a sticky note basically for Windows Forms. I have not yet made videos on this, as I lack the time but the code has a lot of rich comments.

Update 7/18/2023: On the bottom is a C# Game Project in a zipped up file. I HAVE NOT had the time to make videos of this project. The GameForm project has been meticulously documented with detailed comments to help learners understand the purpose and functionality of each line of code. Here's an overview of how the lines of code are heavily commented. You play a character that has to avoid three little monster moving around on the screen. It's about 260 lines of code.

Dear aspiring coders,

Are you ready to unlock the power of C# programming and take your skills to the next level? Look no further than our comprehensive online course on Udemy.

Imagine immersing yourself in a course that not only covers the basics of C# and Windows Forms but also explores intricate details that require careful analysis. With a plethora of exercises placed throughout the videos, you'll be able to apply what you've learned and solidify your understanding of the material. And don't worry about getting stuck - we provide solutions to the exercises after the pauses, so you can test and check your work.

Our course uses the latest version of Visual Studio, with all the code typed line by line, in real time, inside the program. And while this is a beginner's course, we do not avoid very technical details. We discuss concepts related to object-oriented programming early on and provide closed-captions automatically for those who are hearing-impaired.

But that's not all. We are excited to announce that we have recently added four new sections dedicated to building practical projects, including a fairly extensive database project. This project explores the intricacies of database programming in C# and will challenge you to take your skills to the next level. And with our videos presented in HD quality with clear and crisp audio, you'll be able to follow along every step of the way.

Don't wait any longer to take advantage of this incredible opportunity. Act now and join us on this exciting journey into the world of programming. We encourage you to watch our free preview videos and review our course goals, so you can see exactly whether this course is the right fit for you.

You know that you have the potential to excel in programming, so why not give yourself the tools you need to succeed? Let us help you unlock your full potential and explore the exciting possibilities of C# programming together.

Thank you for considering our course, and we hope to see you soon.

Enroll now

What's inside

Learning objectives

  • Students will know how to find, download and install visual studio 2017 community, the latest version as of the making of this course.
  • Students will know how to create an executable windows form project.
  • Students will know how to use a variety of the panels that show in visual studio.
  • Students will know how to set various object properties.
  • Students will know how to describe the purpose of the public keyword.
  • Students will know how to describe the purpose of the private keyword.
  • Students will know how to describe the purpose of the class keyword.
  • Students will know how to interpret a hierarchy consisting of name spaces, classes and methods.
  • Students will learn how to use the object explorer in visual studio.
  • Students will understand the purpose of the files that make up a window forms project.
  • Students will understand what a constructor is.
  • Students will understand how visual object changes are reflected in code in the appropriate file.
  • Students will learn the meaning of the this keyword.
  • Students will learn the meaning of the partial keyword.
  • Students will understand how to pull a class from a namespace.
  • Students will understand how a class functions as a container for code.
  • Students will understand how a class can also be imagined as a template for making objects.
  • Students will understand how to use the memory panel and the meaning of the new keyword.
  • Students will understand the concept of an assembly.
  • Students will understand how to work with references.
  • Students will understand the concept of an integer data type.
  • Students will understand why variables are needed.
  • Students will understand what it means to assign values and call methods.
  • Understand why a variety of different data types is needed.
  • Understand that there are templates for many different data types.
  • Understand specific data types like int, double, bool and others.
  • Students will understand how to use the + symbol with strings.
  • Students will understand implicit method calls like string . format and string . concat.
  • Students will understand how to make use of the locals window in visual studio.
  • Understand how to set various object properties by changing the designer file manually.
  • Understand how to work with a struct that represents colors.
  • Understand how to use methods like trim and to upper to work with strings.
  • Understand the concept of a method overload.
  • Understand what purpose the .net framework serves.
  • Describe the purpose of a fully qualified name.
  • Understand the concept of method nesting.
  • Understand the concept of static methods.
  • Understand the purpose of enumerations.
  • Understand the purpose of try/catch.
  • Become familiar with exceptions.
  • Understand simple logical conditions with if/else.
  • Understand more complex logical conditions with if/else if/else.
  • Understand how to use panels, calendar and check boxes.
  • Understand how to use combo boxes.
  • Understand how to prevent null reference exceptions with combo boxes.
  • Understand how to work with rich textboxes.
  • Understand how to make selections in rich text boxes and how to highlight.
  • Understand how to make if/else operate with methods that return a bool.
  • Understand how to use the ternary operator to make logical decisions.
  • Understand how to work with list boxes.
  • Understand how to work with switch blocks
  • Understand how to use multiple catch blocks.
  • Understand how to use modern switch blocks.
  • Learn how to use data grid views.
  • Learn how to make use of tryparse methods.
  • Understand where to find the .net framework.
  • Understand the difference between unary and binary operators
  • Understand how to use a rich text box in a simplified way.
  • Understand how to make use of a x++, ++x, --x
  • Understand the how and why of a while loops.
  • Understand why the parts of a while loop are present and coded a certain way.
  • Understand how to make use of grid views with while loops.
  • Understand the fundamentals of for loops.
  • Understand how to make if work with open file dialogs.
  • Understand how to make if work with save file dialogs.
  • Understand how to work with the rich text box methods.
  • Understand how to use complex index notation with data grid views.
  • Understand how to step through the column entries with a for loop.
  • Understand how to work with double for loops.
  • Understand how to navigate through the command prompt window.
  • Understand the concept of a verbatim string.
  • Understand how to use string arrays in an application.
  • Understand how to add name spaces and using the io namespace.
  • Learn how to use the folder browser dialog box.
  • Understand how to use if with folder browser dialogs.
  • Understand how to use foreach loops with string arrays.
  • Understand how to use picture boxes and image lists.
  • Understand how to use if/else with image lists and image list indexes.
  • Understand overall how to build a simple picture browser.
  • Understand how to print images to pdf's and paper.
  • Understand the purpose of the .net framework and how public properties give us access to private fields.
  • Understand how to use the print preview dialog box
  • Understand how to use page margins when printing to fit images on a page.
  • Understand how to view images at their proper size using a form.
  • Understand the difference between local variables and fields.
  • Learn how to perform a variety of image resizing operations.
  • Learn how to use the clipboard
  • Learn how to use switch blocks
  • Learn how to use multiple windows forms in one project
  • Learn how to write to /read from files on the hard drive
  • Learn how to print to pritners and pdf files
  • Learn how to print entire windows forms controls as bit maps
  • Learn how to work with memory streams
  • Learn how to work with emails, smtp and attachments
  • Learn how to use multiple using blocks for try/catch
  • Learn how to work with c# and word
  • Learn how to write to files and load files
  • Learn how to send email messages from c#
  • Show more
  • Show less

Syllabus

Get the needed tool
Getting Visual Studio 2017 Community (no coding)
Digging into the Structures of a Windows Forms Project
Creating and running your first executable (no coding)
Read more

Make sure as you make the project, the Document Layout window shows the Cylinder Panel above the Rectangle Panel.

Look at the attached picture to see this.

This is also explained in video 79.

  1. Make sure you set the print document on the printDialog1 object to printDocument1 in the properties panel of the printDialog1 object.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers the basics of C# and Windows Forms, providing a solid foundation for beginners interested in desktop application development
Includes exercises throughout the videos with solutions provided, allowing learners to solidify their understanding and test their knowledge
Uses Visual Studio 2017, which, while not the latest version, is still widely used and provides a stable environment for learning C# and Windows Forms
Explores intricate details and technical concepts related to object-oriented programming early on, which may be challenging for absolute beginners
Includes practical projects like a database project, customer calendar generator, draggable text box, and game project, offering hands-on experience
Features heavily commented code in the provided projects, which helps learners understand the purpose and functionality of each line of code

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical c# and windows forms projects

According to students, this course offers a strong foundation in C# and Windows Forms development through a variety of practical, hands-on projects. Learners appreciate the step-by-step coding demonstrations where the instructor types code line-by-line. The course covers C# fundamentals alongside diving into technical details, making it suitable for aspiring coders. Students find the inclusion of multiple projects, such as a database project, game project, and utilities, highly beneficial for applying concepts. The instructor's effort in providing detailed code comments is also frequently noted positively. Some recent updates, however, provide only zipped code projects without video explanations, which might be a challenge for some learners who prefer guided instruction.
Code is well-documented; technical details included.
"The code is heavily commented, which helped immensely in understanding complex parts."
"Appreciate that the instructor included <span class="positive">detailed comments in the project files."
"The course didn't shy away from <span class="neutral">technical details, which provided a deeper insight."
Instructor codes line-by-line for clear understanding.
"Watching the code being typed out line by line made it easy to follow along and understand."
"The <span class="positive">real-time coding approach was very effective for learning how applications are built."
"Instructor's clear demonstration of writing code step-by-step was a major plus."
Covers essential C# programming basics.
"The course did a good job explaining the fundamental C# concepts before jumping into complex topics."
"I gained a solid understanding of <span class="neutral">data types, <span class="neutral">loops, and <span class="neutral">conditionals which was crucial."
"Good coverage of core programming principles necessary for Windows Forms development."
Focuses on hands-on learning through various projects.
"The diverse projects provided were extremely helpful for practicing C# and Windows Forms concepts."
"I really enjoyed building the different applications; it made the learning process much more engaging."
"The <span class="neutral">database project was particularly insightful and practical for real-world applications."
"Working through the various projects solidified my understanding more than just lectures could."
Some recent course additions lack video instruction.
"The added projects are great, but it's disappointing they are just <span class="warning">zipped code files with no videos."
"It's hard to understand the new projects when they are just code bases without the instructor explaining them."
"Wish the recent updates included video lessons like the rest of the course."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn C# with Windows Forms and a Variety of Projects with these activities:
Review C# Data Types
Reinforce your understanding of fundamental C# data types before diving into Windows Forms projects. This will help you write cleaner and more efficient code.
Show steps
  • Review the different data types in C#, such as int, double, string, and bool.
  • Practice declaring and initializing variables of different data types.
  • Write simple programs that use these data types to perform calculations and display results.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Deepen your understanding of C# and .NET Core concepts. This book will provide a broader context for the Windows Forms projects covered in the course.
Show steps
  • Read the chapters related to C# fundamentals and .NET Core architecture.
  • Experiment with the code examples provided in the book.
  • Compare the concepts presented in the book with the course material.
Create a Simple Calculator Application
Apply your knowledge of C# and Windows Forms to build a practical application. This project will reinforce your understanding of UI design, event handling, and basic arithmetic operations.
Show steps
  • Design the user interface with buttons for numbers, operators, and equals.
  • Implement event handlers for button clicks to perform calculations.
  • Display the results in a text box.
  • Add error handling to prevent crashes due to invalid input.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Learning Journey
Solidify your understanding by creating a blog or journal documenting your progress and challenges. This will help you reflect on what you've learned and identify areas for improvement.
Show steps
  • Create a blog or journal using a platform like Medium or a personal website.
  • Write regular entries summarizing the concepts you've learned in each module.
  • Describe any challenges you faced and how you overcame them.
  • Share your code snippets and project screenshots.
Explore Advanced Windows Forms Controls
Expand your knowledge of Windows Forms by exploring advanced controls and features. This will enable you to create more sophisticated and user-friendly applications.
Show steps
  • Find tutorials on advanced controls like TreeView, ListView, and TabControl.
  • Follow the tutorials to implement these controls in a sample application.
  • Experiment with different properties and methods to customize the controls.
  • Integrate these controls into your existing projects.
Contribute to a C# Open Source Project
Gain practical experience and contribute to the C# community by participating in an open-source project. This will expose you to real-world coding practices and collaborative development.
Show steps
  • Find a C# open-source project on GitHub that interests you.
  • Read the project's documentation and contribution guidelines.
  • Identify a bug or feature that you can work on.
  • Submit a pull request with your changes.
Review 'CLR via C#' by Jeffrey Richter'
Gain a deeper understanding of the .NET runtime environment. This book will help you optimize your C# code and troubleshoot complex issues.
Show steps
  • Read the chapters related to memory management, threading, and garbage collection.
  • Experiment with the code examples provided in the book.
  • Apply the concepts learned to optimize your Windows Forms applications.

Career center

Learners who complete Learn C# with Windows Forms and a Variety of Projects will develop knowledge and skills that may be useful to these careers:
C# Developer
A C# developer is a software developer who specializes in using the C# programming language to build various applications. This course is directly relevant to this career. It provides a comprehensive introduction to C# and Windows Forms. The course's hands-on exercises and practical projects enable learners to gain practical experience in C# development. You will find that the course explores the intricacies of database programming in C#, a skill regularly employed by C# developers.
Desktop Application Developer
A desktop application developer is responsible for designing and building applications that run on desktop operating systems, such as Windows. This course is directly relevant to this career, as it teaches C# and Windows Forms, which are commonly used for desktop application development. The hands-on projects and focus on practical skills help build competence in desktop application development. Desktop application developers make use of Visual Studio.
Windows Forms Developer
A Windows Forms developer specializes in creating desktop applications using the Windows Forms framework. This course is directly relevant to this career path, as it focuses on C# and Windows Forms. The course teaches how to create executable Windows Form projects, use various panels in Visual Studio, and set object properties. Someone who wants to be a Windows Forms developer should take this course.
Applications Developer
An applications developer specializes in creating software applications for specific platforms, such as Windows. This course directly aligns with this career, as it focuses on C# and Windows Forms, which are essential technologies for Windows application development. The course's learning objectives, which include creating executable Windows Form projects and setting object properties, help build a baseline understanding of the application development process. Aspiring applications developers can also benefit from the course's coverage of database programming in C#.
Software Developer
A software developer is involved in designing, coding, testing, and maintaining software applications. This course on C# with Windows Forms helps build a foundation for this career. You can learn the fundamentals of C# programming, understand object-oriented programming concepts, and gain experience with Windows Forms. The course's focus on practical projects, including a database project, provides valuable experience in building real-world applications. Software developers frequently work with these technologies.
Software Engineer
A software engineer applies engineering principles to the design, development, maintenance, testing, and evaluation of software and systems. This course helps build a foundation for a career as a software engineer. The course covers the basics of C# and Windows Forms, explores object-oriented programming, and provides practical exercises. The course may be particularly beneficial to those interested in developing Windows-based applications. Software engineers are sometimes expected to integrate databases into their applications.
Database Application Developer
A database application developer designs and implements applications that interact with databases. This course may be helpful for this career path, as it includes a fairly extensive database project that explores the intricacies of database programming in C#. Learning how to work with databases using C# and Windows Forms helps equip you with the necessary skills to develop database-driven applications. This course will help those hoping to become database application developers.
Game Developer
A game developer is involved in creating video games for various platforms. While this course primarily focuses on Windows Forms applications, it also includes game project examples using C# and Unity scripts. This course might be helpful for aspiring game developers who want to learn the basics of C# and game development concepts. A beginning learner will especially benefit from the heavily commented code provided alongside the game project.
Automation Engineer
An automation engineer designs, develops, and implements automated systems and processes. While not a direct fit, this course may be useful if the role involves developing custom tools or applications using C# and Windows Forms to automate tasks. The knowledge of C# fundamentals and Windows Forms concepts gained from this course may prove useful in creating automation solutions. Automation engineers must be able to debug and analyze code.
Software Architect
A software architect is responsible for designing the overall structure of software systems. While this course is more focused on the fundamentals of C# and Windows Forms, it helps build a foundation of programming and software development principles. This course may be helpful for aspiring software architects who need to understand the underlying technologies and how different components interact with each other. Software architects should be versed in many programming paradigms.
Full-Stack Developer
A full stack developer works on both the front-end and back-end of web applications. This course, while focusing on C# and Windows Forms, provides a solid foundation in programming concepts that can be applied to back-end development. Understanding C# and database programming concepts may be useful for building the server-side logic and data access layers of web applications. Full stack developers must be able to design and implement front-end interfaces.
Quality Assurance Engineer
A quality assurance engineer tests software to ensure it meets quality standards. This course, while not directly related to testing, helps build an understanding of software development principles and C# programming. This course may be useful for quality assurance engineers who need to write test scripts or automate testing processes using C#. The included game project also would be helpful.
Curriculum Developer
A curriculum developer designs and creates educational materials, such as courses and training programs. This course might be helpful for curriculum developers who are creating courses on C# programming or Windows Forms development. The course's structure, content, and exercises can serve as a reference for developing effective learning materials. Curriculum developers should have a strong understanding of pedagogy.
Technical Support Engineer
A technical support engineer provides technical assistance to customers who are using software or hardware products. A basic understanding of programming concepts and software development, as taught in this course, may be helpful for troubleshooting software issues and understanding how applications work. The knowledge of C# and Windows Forms may be beneficial if the support role involves assisting users with Windows-based applications. Technical support engineers must be able to communicate technical information effectively.
Information Technology Manager
An information technology manager is responsible for planning, coordinating, and directing all computer-related activities. While this course is more focused on the technical aspects of software development, it may be useful for IT managers who want to gain a better understanding of the technologies their teams are using. The knowledge of C# and Windows Forms may help them make informed decisions about software development projects. Information technology managers are required to have a deep understanding of budgetary principles.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn C# with Windows Forms and a Variety of Projects.
Delves into the inner workings of the Common Language Runtime (CLR), providing a deep understanding of how C# code is executed. It's invaluable for optimizing performance and troubleshooting complex issues in Windows Forms applications. While not a beginner's book, it offers insights into memory management, threading, and other advanced topics. This book is commonly used by industry professionals.
Provides a comprehensive guide to C# and .NET Core, covering the fundamentals and advanced topics. It's particularly useful for understanding the underlying concepts behind Windows Forms development. The book valuable resource for expanding your knowledge beyond the course material and exploring cross-platform development possibilities. It can serve as a reference for understanding the .NET framework.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser