Instrukcje: tworzenie aplikacji Windows Forms z poziomu wiersza polecenia
Poniższe procedury opisują podstawowe kroki, które należy wykonać, aby utworzyć i uruchomić aplikację Windows Forms z poziomu wiersza polecenia. Istnieje obszerna obsługa tych procedur w programie Visual Studio. Zobacz również Przewodnik: Hostowanie kontrolki Windows Forms w WPF.
Procedura
Aby utworzyć formularz
W pustym pliku kodu wpisz następujące instrukcje
Imports
lubusing
:using System; using System.ComponentModel; using System.Drawing; using System.Windows.Forms;
Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms
Zadeklaruj klasę o nazwie
Form1
dziedziczącą z klasy Formularz:public class Form1 : Form
Public Class Form1 Inherits Form
Utwórz konstruktor bez parametrów dla
Form1
.W kolejnej procedurze dodasz do konstruktora więcej kodu.
public Form1() {}
Public Sub New() End Sub
Dodaj metodę
Main
do klasy.Zastosuj STAThreadAttribute do metody
Main
języka C#, aby określić, że aplikacja Windows Forms działa w modelu jednowątkowego apartamentu. (Atrybut nie jest konieczny w Visual Basic, ponieważ aplikacje formularzy systemu Windows opracowane w języku Visual Basic domyślnie używają modelu apartamentów jednowątkowego).Wywołaj EnableVisualStyles, aby zastosować style systemu operacyjnego do aplikacji.
Utwórz wystąpienie formularza i uruchom je.
[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
Aby skompilować i uruchomić aplikację
W wierszu polecenia programu .NET Framework przejdź do katalogu, w którym utworzono klasę
Form1
.Skompiluj formularz.
Jeśli używasz języka C#, wpisz:
csc form1.cs
-or-
Jeśli używasz języka Visual Basic, wpisz:
vbc form1.vb
W wierszu polecenia wpisz:
Form1.exe
Dodawanie kontrolki i obsługa zdarzenia
W poprzednich krokach procedury pokazano, jak utworzyć podstawowy formularz systemu Windows, który kompiluje i uruchamia. W następnej procedurze pokazano, jak utworzyć i dodać kontrolkę do formularza oraz obsłużyć zdarzenie dla kontrolki. Aby uzyskać więcej informacji na temat kontrolek, które można dodać do formularzy Windows Forms, zobacz kontrolki Windows Forms.
Oprócz zrozumienia sposobu tworzenia aplikacji Windows Forms należy zrozumieć programowanie oparte na zdarzeniach i sposób obsługi danych wejściowych użytkownika. Aby uzyskać więcej informacji, zobacz Tworzenie procedur obsługi zdarzeń w Windows Formsoraz obsługi danych wejściowych użytkownika
Aby zadeklarować kontrolkę przycisku i obsłużyć zdarzenie kliknięcia
Zadeklaruj kontrolkę przycisku o nazwie
button1
.W konstruktorze utwórz przycisk i ustaw jego właściwości Size, Location i Text.
Dodaj przycisk do formularza.
W poniższym przykładzie kodu pokazano, jak zadeklarować kontrolkę przycisku:
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
Utwórz metodę do obsługi zdarzenia Click dla przycisku.
W obsłudze zdarzenia kliknięcia wyświetl MessageBox z komunikatem "Hello World".
W poniższym przykładzie kodu pokazano, jak obsługiwać zdarzenie kliknięcia kontrolki przycisku:
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
Skojarz zdarzenie Click z utworzoną metodą.
W poniższym przykładzie kodu pokazano, jak skojarzyć zdarzenie z metodą .
button1.Click += new EventHandler(button1_Click);
Private Sub button1_Click(ByVal sender As Object, _ ByVal e As EventArgs) Handles button1.Click
Skompiluj i uruchom aplikację zgodnie z opisem w poprzedniej procedurze.
Przykład
Poniższy przykład kodu jest kompletnym przykładem z poprzednich procedur:
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
Zobacz też
.NET Desktop feedback