
This is the introduction to the course. We will talk about how this course is structured and what will you learn after completing this course.
This lecture, is an introduction to .NET Windows forms, what they are and what their main characteristics are.
In this lecture, we will talk about the .NET Windows Forms architecture.
In this lecture, we will talk about the prerequisites for developing and running a .NET Windows Forms project.
In this lecture, we will talk about the main development environment for .NET Windows Forms projects, that is Visual Studio.
In this lecture and live demonstration, we will take a look at the tool to be developed throughout the course: a simple Text Editor, using .NET Windows Forms and C#.
This lecture, is a recap of what you have learned in this introductory section.
This lecture, is an overview of what you will learn in this section.
In this lecture and live demonstration, we will talk about the main .NET Windows Forms components and controls such as: TextBox, RichTextBox, MenuStrip, Labels, Buttons, ScrollBars, CheckBoxes, and more.
In this lecture and live demonstration, we will talk about basic event handling for controls and components in .NET Windows Forms projects.
In this live demonstration, we will start the step-by-step implementation of our Text Editor app, using Visual Studio, .NET Windows Forms and C#.
This lecture, is a recap of what you have learned in this section.
This lecture, is an overview of what you will learn in this section.
In this lecture, we will talk more about the philosophy of events in .NET Windows Forms, and how you can make your application interact more efficiently with the end users.
In this lecture, we will talk about the practice of combining events within and across controls, thus helping your .NET Windows Forms app provide a richer user experience.
In this live demonstration, we will proceed to the second implementation phase of our Text Editor app, where we will be enhancing the tool with more events.
This lecture, is a recap of what you have learned in this section.
This lecture, is an overview of what you will learn in this section.
This lecture, is an introduction to multithreading in .NET. Among other, you will learn what multi-threading is and what are the benefits when using it.
In this lecture, we will talk about how you can enable multithreading for your .NET Windows Forms application, using the BackgroundWorker .NET component.
In this live demonstration, we will proceed to the third implementation phase of our Text Editor app, where we will be enhancing the tool with multithreading.
This lecture, is a recap of what you have learned in this section.
This lecture, is an overview of what you will learn in this section.
In this lecture, we will discuss about the deployment options and considerations, for your .NET Windows Forms app.
In this lecture and live demonstration, we will talk about how you can use the ClickOnce Visual Studio component, for deploying your .NET Windows Forms apps. Among other, we will be adding deployment capabilities to our Text Editor app.
This lecture, is a recap of what you have learned in this section.
This lecture, is an overview of what you will learn in this section.
In this lecture, we will talk about SQL Server Express Edition, its characteristics and limitations, and how you can download it and install it on a new Windows environment, along with installing the latest version of SQL Server Management Studio (SSMS).
In this lecture and live demonstration, we will talk about how you can connect to a SQL Server database, from your .NET Windows Forms app.
In this lecture and live demonstration, you will learn how to retrieve data from SQL Server, right into your DataGridView control in your .NET Windows Forms app.
In this lecture and live demonstration, you will learn how you can update the contents of a table in a SQL Server database, via the DataGridView control in your .NET Windows Forms app.
This lecture, is a recap of what you have learned in this section.
This lecture, is an overview of what you will be learning in this section.
In this step-by-step live guide, we will be building together, a simple image viewer application in C#, using .NET WinForms.
In this lecture, we’ll cover the SQL Server security hierarchy — one of the most important, yet often misunderstood, concepts. A solid understanding of this structure helps you assign permissions correctly, avoid common mistakes, and build secure, well-managed environments. This knowledge is essential not only for database administrators, but also software developers.
In this lecture, we will be discussing about how you can write more secure data access code in C#, by using the SqlParameter object, thus limiting your code's exposure to SQL injection attacks.
In this lecture and live demo, you will learn many useful T-SQL tips and tricks that will help you with SQL Server development.
In this lecture and live demo, you will learn how to work with T-SQL snippets in SQL Server Management Studio (SSMS).
Via this lecture and live demonstration, you will learn how to easily retrieve version information about your SQL Server instances.
In this article, we’ll be discussing about how you can easily set filters for OpenFileDialog and SaveFileDialog in C# and see some simple examples.
In this article, we'll be discussing about some of the main best practices, for when developing software using .NET Windows Forms (WinForms).
In this lecture, we'll dive deep into the core principles of accessibility, exploring how to design and implement features that cater to all users, regardless of their abilities.
In this lecture, we’ll review the fundamentals of clustered and non-clustered indexes, then explore specialized types like columnstore, filtered, and full-text indexes.
In this lecture, we’ll explore how you can create applications that adapt to different languages and cultural settings. This is a critical skill for anyone developing software for global audiences.
In this special topic, we’ll look at some of the most common mistakes SQL developers make—often without realizing it. This is useful knowledge, when working with databases and data app development.
In this lecture, we're going to explore Agile and Scrum—two of the most widely used approaches in software development. You'll learn what Agile is, why it matters, and how Scrum provides a practical framework for applying Agile principles in real-world projects.
In this lecture, we discuss about responsive WinForms with async and await. We will use a concrete example to understand the decision, work through the reasoning, and finish with a short knowledge check. Let us begin.
This lecture, is a recap on what you have learned in this course.
Bonus lecture.
Learn how to build Windows desktop applications with C# and Windows Forms while understanding how the different parts of an application work together.
This beginner-friendly course introduces you to Windows Forms development with C# through practical explanations and step-by-step application examples.
Throughout the course, you will work with a text-editor application that develops gradually as new concepts are introduced, helping you connect programming theory with the structure and behavior of a real desktop application.
Build Windows Desktop Applications with C#
Windows Forms provides a visual approach to developing desktop applications for Windows.
You will begin by exploring the structure of a Windows Forms application and the Visual Studio development environment.
From there, you will learn how forms, controls, properties, methods, and events work together to create an interactive user interface.
The course introduces concepts such as:
Windows Forms application architecture.
Creating and working with forms.
Using common Windows Forms controls.
Handling user events.
Connecting interface actions with C# code.
Building application functionality step by step.
Working with background processing.
Connecting applications to SQL Server.
Displaying and updating database data.
Deploying Windows desktop applications.
Learn Event-Driven Programming
Desktop applications respond continuously to user actions.
A user may click a button, select an option, enter text, open a file, or interact with another control.
You will learn how event-driven programming makes this possible and how event handlers connect user actions with your C# code.
The text-editor application provides a practical environment for understanding these concepts and seeing how individual events contribute to the overall behavior of an application.
Develop a Practical Text Editor Application
Rather than learning each Windows Forms concept in isolation, the course uses a text-editor application that evolves as you progress.
This helps you understand how:
Forms and controls work together.
Application functionality is organized.
Events control application behavior.
New features can be added incrementally.
User-interface elements interact with application logic.
You will see how a simple interface gradually becomes a more complete desktop application.
Explore Background Processing
The course also introduces multithreading concepts using BackgroundWorker.
You will see how a Windows Forms application can perform longer-running operations without treating every task as a simple synchronous user-interface action.
This gives you an introduction to the importance of responsiveness in desktop application development.
Connect Windows Forms to SQL Server
Many business applications need to work with data stored in a database.
A dedicated section introduces database connectivity between a Windows Forms application and Microsoft SQL Server.
You will follow examples that demonstrate how to:
Connect a Windows Forms application to SQL Server.
Retrieve database records.
Display data using DataGridView.
Work with database-backed application interfaces.
Update data from the application.
These lessons help you understand how desktop applications can move beyond standalone functionality and interact with persistent business data.
Explore Additional Application Concepts
The course also introduces additional development topics, including an image-viewer example and selected software-development practices.
You will also explore application deployment through ClickOnce, giving you an understanding of how a Windows desktop application can be prepared and distributed after development.
Who Is This Course For?
This course is suitable for:
Beginners who want to start developing Windows desktop applications.
C# learners who want to move from basic language concepts into application development.
Students learning .NET programming.
Developers new to Windows Forms.
IT professionals who want to understand desktop application development with C#.
Anyone interested in connecting a C# desktop application to SQL Server.
Basic programming knowledge is recommended.
Previous Windows Forms experience is not required, although familiarity with basic C# syntax will help you follow the examples more comfortably.
About the Development Environment
The main demonstrations were originally recorded using Visual Studio 2019, .NET Framework, and Windows 10.
The core Windows Forms concepts demonstrated in the course remain useful for understanding desktop application development, although newer Visual Studio versions may present some differences in project setup, tooling, and deployment screens.
When following the demonstrations yourself, use a development environment that is appropriate for the version of .NET and Windows Forms you intend to work with.
Build Your Windows Forms Foundation
By the end of the course, you will understand how a Windows Forms application is structured, how controls and events create interactive behavior, how C# code connects with the user interface, and how applications can communicate with SQL Server.
You will also have followed a desktop application through development, data access, background processing, and deployment.
If you already know some basic programming and want to take your first practical steps into Windows desktop development with C#, this course provides a structured place to start.