Практическое руководство. Создание приложение Windows Forms из командной строки
В процедурах ниже описаны основные шаги, которые необходимо выполнить для создания и запуска приложения Windows Forms из командной строки. Visual Studio предлагает расширенную поддержку этих процедур. См. также Пошаговое руководство. Размещение элемента управления Windows Forms в приложении WPF.
Процедура
Создание формы
В пустом файле кода введите следующие операторы
Imports
илиusing
:using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms;
Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms
Объявите класс с именем
Form1
, наследуемый от класса Form:public class Form1 : Form
Public Class Form1 Inherits Form
Создайте конструктор без параметров для
Form1
.В следующий процедуре будет добавлен дополнительный код конструктора.
public Form1() {}
Public Sub New() End Sub
Добавьте в класс метод
Main
.Примените STAThreadAttribute к методу
Main
C#, чтобы указать, что приложение Windows Forms использует однопотоковое подразделение. (Атрибут не является обязательным в Visual Basic, так как по умолчанию приложения форм Windows, разработанные с помощью Visual Basic, используют модель однопотокового подразделения.)Вызовите EnableVisualStyles, чтобы применить стили операционной системы к приложению.
Создайте экземпляр формы и запустите его.
[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
Компиляция и запуск приложения
В командной строке .NET Framework перейдите к папке, в которой содержится класс
Form1
.Скомпилируйте форму.
Если используется C#, введите следующий текст:
csc form1.cs
-or-
Если используется Visual Basic, введите следующий текст:
vbc form1.vb
В командной строке введите следующий текст:
Form1.exe
.
Добавление элемента управления и обработка события
В предыдущей процедуре продемонстрировано, как создать простейшую форму Windows Forms, скомпилировать и запустить ее. В следующей процедуре будет показано, как создать и добавить в форму элемент управления и как обрабатывать событие для него. Подробнее об элементах управления, которые можно добавить в форму Windows Forms, см. в разделе Элементы управления Windows Forms.
Помимо понимания способов создания приложений Windows Forms, следует обладать общими знаниями о программировании на основе событий и способах обработки данных, введенных пользователем. Подробнее см. в разделах Создание обработчиков событий в Windows Forms и Обработка введенных пользователем данных.
Объявление элемента управления типа "Кнопка" и обработка событий щелчка мышью для нее
Объявите элемент управления типа "Кнопка" с именем
button1
.В конструкторе создайте кнопку и задайте ее свойства Size, Location и Text.
Добавьте кнопку в форму.
В примере кода ниже показано, как объявить элемент управления типа "Кнопка":
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
Создайте метод для обработки события Click для кнопки.
В обработчике событий щелчка мышью выведите элемент управления 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
Свяжите событие Click с созданным методом.
В примере кода ниже показано, как связать событие с методом.
button1.Click += new EventHandler(button1_Click);
Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click
Скомпилируйте и запустите приложение, как описано в предыдущей процедуре.
Пример
В примере кода ниже полностью представлены все предыдущие процедуры:
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
См. также
.NET Desktop feedback