Events
17 Mar, 23 - 21 Mar, 23
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
In this tutorial, you learn how to use Visual Studio to create a new Windows Forms app. With Visual Studio, you add controls to a form and handle events. By the end of this tutorial, you have a simple app that adds names to a list box.
In this tutorial, you:
Caution
.NET 6 is no longer supported. It's recommended that you use .NET 9.0.
Caution
.NET 7 is no longer supported. It's recommended that you use .NET 9.0.
The first step to creating a new app is opening Visual Studio and generating the app from a template.
Caution
.NET 6 is no longer supported. It's recommended that you use .NET 9.0.
Open Visual Studio.
Select Create a new project.
In the Search for templates box, type winforms, and wait for the search results to appear.
In the code language dropdown, choose C# or Visual Basic.
In the list of templates, select Windows Forms App and then select Next.
Important
Don't select the Windows Forms App (.NET Framework) template.
The following image shows both C# and Visual Basic .NET project templates. If you applied the code language filter, the corresponding template is listed.
In the Configure your new project window, set the Project name to Names and select Next.
You can also save your project to a different folder by adjusting the Location path.
Finally, in the Additional information window, select .NET 6.0 (Long-term support) for the Framework setting, and then select Create.
Caution
.NET 7 is no longer supported. It's recommended that you use .NET 9.0.
Open Visual Studio.
Select Create a new project.
In the Search for templates box, type winforms, and wait for the search results to appear.
In the code language dropdown, choose C# or Visual Basic.
In the list of templates, select Windows Forms App and then select Next.
Important
Don't select the Windows Forms App (.NET Framework) template.
The following image shows both C# and Visual Basic .NET project templates. If you applied the code language filter, the corresponding template is listed.
In the Configure your new project window, set the Project name to Names and select Next.
You can also save your project to a different folder by adjusting the Location path.
Finally, in the Additional information window, select .NET 7.0 (Standard Term Support) for the Framework setting, and then select Create.
Open Visual Studio.
Select Create a new project.
In the Search for templates box, type winforms, and wait for the search results to appear.
In the code language dropdown, choose C# or Visual Basic.
In the list of templates, select Windows Forms App and then select Next.
Important
Don't select the Windows Forms App (.NET Framework) template.
The following image shows both C# and Visual Basic .NET project templates. If you applied the code language filter, the corresponding template is listed.
In the Configure your new project window, set the Project name to Names and select Next.
You can also save your project to a different folder by adjusting the Location path.
Finally, in the Additional information window, select .NET 8.0 (Long Term Support) for the Framework setting, and then select Create.
Open Visual Studio.
Select Create a new project.
In the Search for templates box, type winforms, and wait for the search results to appear.
In the code language dropdown, choose C# or Visual Basic.
In the list of templates, select Windows Forms App and then select Next.
Important
Don't select the Windows Forms App (.NET Framework) template.
The following image shows both C# and Visual Basic .NET project templates. If you applied the code language filter, the corresponding template is listed.
In the Configure your new project window, set the Project name to Names and select Next.
You can also save your project to a different folder by adjusting the Location path.
Finally, in the Additional information window, select .NET 9.0 (Standard Term Support) for the Framework setting, and then select Create.
Once the app is generated, Visual Studio should open the designer window for the default form, Form1. If the form designer isn't visible, double-click on the form in the Solution Explorer window to open the designer window.
Support for Windows Forms in Visual Studio has four important components that you interact with as you create an app:
Solution Explorer
All of your project files, code, forms, resources, appear in this window.
Properties
This window shows property settings you can configure based on the context of the item selected. For example, if you select an item from Solution Explorer, settings related to the file are displayed. If object in the Designer is selected, the properties of the control or form are displayed.
Form Designer
This is the designer for the form. It's interactive and you can drag-and-drop objects from the Toolbox. By selecting and moving items in the designer, you can visually compose the user interface (UI) for your app.
Toolbox
The toolbox contains all of the controls you can add to a form. To add a control to the current form, double-click a control or drag-and-drop the control.
Tip
If the toolbox isn't visible, you can display it through the View > Toolbox menu item.
With the Form1 form designer open, use the Toolbox window to add the following controls to the form by dragging them from the toolbox and dropping them on the form:
Position and size the controls according to the following image:
You can either move and resize the controls with the mouse to match the previous image, or use the following table to configure each control. To configure a control, select it in the designer, then set the appropriate setting in the Properties window. When configuring the form, select the form's title bar.
Object | Setting | Value |
---|---|---|
Label | Location | 12, 9 |
Text | Names |
|
Listbox | Name | lstNames |
Location | 12, 27 |
|
Size | 120, 94 |
|
Textbox | Name | txtName |
Location | 138, 26 |
|
Size | 100, 23 |
|
Button | Name | btnAdd |
Location | 138, 55 |
|
Size | 100, 23 |
|
Text | Add Name |
|
Form | Text | Names |
Size | 268, 180 |
Now that the form has all of its controls laid out, the next step is to add event handlers to respond to user input. Go to the form designer and perform the following steps:
Select the Add Name button control on the form.
In the Properties window, select the the events icon
to list the events of the button.
Find the Click event and double-click it to generate an event handler.
This action adds the following code to the form:
private void btnAdd_Click(object sender, EventArgs e)
{
}
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
End Sub
The code for this handler is going to add the name specified by the txtName
textbox to the lstNames
listbox. However, we want there to be two conditions to adding the name: the name provided must not be blank, and the name must not already exist.
The following code demonstrates adding a name to the lstNames
control:
private void btnAdd_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(txtName.Text) && !lstNames.Items.Contains(txtName.Text))
lstNames.Items.Add(txtName.Text);
}
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
If Not String.IsNullOrWhiteSpace(txtName.Text) And Not lstNames.Items.Contains(txtName.Text) Then
lstNames.Items.Add(txtName.Text)
End If
End Sub
Now that the event is handled, run the app by pressing the F5 key or by selecting Debug > Start Debugging from the menu. When the app starts, the form is displayed and you can enter a name in the textbox and select the button.
.NET Desktop feedback feedback
.NET Desktop feedback is an open source project. Select a link to provide feedback:
Events
17 Mar, 23 - 21 Mar, 23
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Module
Create a UI in a .NET MAUI app by using XAML - Training
Learn how to design a UI for a .NET MAUI app using XAML.
Documentation
What is Windows Forms - Windows Forms .NET
This article gives an overview of Windows Forms with .NET
Windows Forms for .NET documentation
Learn about using Windows Forms, an open-source, graphical user interface for Windows, on .NET.
Getting Started - Windows Forms .NET Framework
Learn how to use Windows Forms to create powerful Windows-based applications that display data, handle user input, and help you deploy your applications.