Практическое руководство. Создание приложение Windows Forms из командной строки

В процедурах ниже описаны основные шаги, которые необходимо выполнить для создания и запуска приложения Windows Forms из командной строки. Visual Studio предлагает расширенную поддержку этих процедур. См. также Пошаговое руководство. Размещение элемента управления Windows Forms в приложении WPF.

Процедура

Создание формы

  1. В пустом файле кода введите следующие операторы Imports или using:

    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
    
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Windows.Forms
    
  2. Объявите класс с именем Form1, наследуемый от класса Form:

    public class Form1 : Form
    
    Public Class Form1
        Inherits Form
    
  3. Создайте конструктор без параметров для Form1.

    В следующий процедуре будет добавлен дополнительный код конструктора.

    public Form1() {}
    
    Public Sub New()
    
    End Sub
    
  4. Добавьте в класс метод Main.

    1. Примените STAThreadAttribute к методу Main C#, чтобы указать, что приложение Windows Forms использует однопотоковое подразделение. (Атрибут не является обязательным в Visual Basic, так как по умолчанию приложения форм Windows, разработанные с помощью Visual Basic, используют модель однопотокового подразделения.)

    2. Вызовите EnableVisualStyles, чтобы применить стили операционной системы к приложению.

    3. Создайте экземпляр формы и запустите его.

    [STAThread]
    public static void Main()
    {
      Application.EnableVisualStyles();
      Application.Run(new Form1());
    }
    
    
        Public Shared Sub Main()
            Application.EnableVisualStyles()
            Application.Run(New Form1())
    
        End Sub
    End Class
    

Компиляция и запуск приложения

  1. В командной строке .NET Framework перейдите к папке, в которой содержится класс Form1.

  2. Скомпилируйте форму.

    • Если используется C#, введите следующий текст: csc form1.cs

      -or-

    • Если используется Visual Basic, введите следующий текст: vbc form1.vb

  3. В командной строке введите следующий текст: Form1.exe.

Добавление элемента управления и обработка события

В предыдущей процедуре продемонстрировано, как создать простейшую форму Windows Forms, скомпилировать и запустить ее. В следующей процедуре будет показано, как создать и добавить в форму элемент управления и как обрабатывать событие для него. Подробнее об элементах управления, которые можно добавить в форму Windows Forms, см. в разделе Элементы управления Windows Forms.

Помимо понимания способов создания приложений Windows Forms, следует обладать общими знаниями о программировании на основе событий и способах обработки данных, введенных пользователем. Подробнее см. в разделах Создание обработчиков событий в Windows Forms и Обработка введенных пользователем данных.

Объявление элемента управления типа "Кнопка" и обработка событий щелчка мышью для нее

  1. Объявите элемент управления типа "Кнопка" с именем button1.

  2. В конструкторе создайте кнопку и задайте ее свойства Size, Location и Text.

  3. Добавьте кнопку в форму.

    В примере кода ниже показано, как объявить элемент управления типа "Кнопка":

    public Button button1;
    public Form1()
    {
        button1 = new Button();
        button1.Size = new Size(40, 40);
        button1.Location = new Point(30, 30);
        button1.Text = "Click me";
        this.Controls.Add(button1);
        button1.Click += new EventHandler(button1_Click);
    }
    
    Public WithEvents button1 As Button
    
    Public Sub New()
        button1 = New Button()
        button1.Size = New Size(40, 40)
        button1.Location = New Point(30, 30)
        button1.Text = "Click me"
        Me.Controls.Add(button1)
       
    End Sub
    
  4. Создайте метод для обработки события Click для кнопки.

  5. В обработчике событий щелчка мышью выведите элемент управления MessageBox с сообщением "Здравствуй, мир".

    В примере кода ниже демонстрируется, как обрабатывать событие щелчка мышью для элемента управления типа "Кнопка":

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Hello World");
    }
    
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
        MessageBox.Show("Hello World")
    End Sub
    
  6. Свяжите событие Click с созданным методом.

    В примере кода ниже показано, как связать событие с методом.

    button1.Click += new EventHandler(button1_Click);
    
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
    
  7. Скомпилируйте и запустите приложение, как описано в предыдущей процедуре.

Пример

В примере кода ниже полностью представлены все предыдущие процедуры:

using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;

namespace FormWithButton
{
    public class Form1 : Form
    {
        public Button button1;
        public Form1()
        {
            button1 = new Button();
            button1.Size = new Size(40, 40);
            button1.Location = new Point(30, 30);
            button1.Text = "Click me";
            this.Controls.Add(button1);
            button1.Click += new EventHandler(button1_Click);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Hello World");
        }
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }
    }
}
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits Form
    Public WithEvents button1 As Button

    Public Sub New()
        button1 = New Button()
        button1.Size = New Size(40, 40)
        button1.Location = New Point(30, 30)
        button1.Text = "Click me"
        Me.Controls.Add(button1)
       
    End Sub
   
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
        MessageBox.Show("Hello World")
    End Sub

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New Form1())

    End Sub
End Class

См. также