Postupy: Vytvoření model Windows Forms aplikace z příkazového řádku

Následující postupy popisují základní kroky, které je nutné dokončit k vytvoření a spuštění model Windows Forms aplikace z příkazového řádku. V sadě Visual Studio je k dispozici rozsáhlá podpora těchto postupů. Viz také návod: Hostování ovládacího prvku model Windows Forms ve WPF.

Postup

Vytvoření formuláře

  1. Do prázdného souboru kódu zadejte následující Imports příkazy nebo using příkazy:

    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Windows.Forms;
    
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Windows.Forms
    
  2. Deklarujte třídu, Form1 která dědí z třídy Form:

    public class Form1 : Form
    
    Public Class Form1
        Inherits Form
    
  3. Vytvoření konstruktoru bez parametrů pro Form1.

    Do konstruktoru přidáte další kód v následném postupu.

    public Form1() {}
    
    Public Sub New()
    
    End Sub
    
  4. Main Přidejte do třídy metodu.

    1. STAThreadAttribute Použijte u metody C# Main k určení model Windows Forms aplikace je jednovláknový byt. (Atribut není v jazyce Visual Basic nutný, protože aplikace formulářů Windows vyvinuté pomocí jazyka Visual Basic ve výchozím nastavení používají model bytu s jedním vláknem.)

    2. Volání EnableVisualStyles pro použití stylů operačního systému pro vaši aplikaci

    3. Vytvořte instanci formuláře a spusťte ji.

    [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
    

Kompilace a spuštění aplikace

  1. Na příkazovém řádku rozhraní .NET Framework přejděte do adresáře, který jste vytvořili Form1 třídu.

  2. Zkompilujte formulář.

    • Pokud používáte jazyk C#, zadejte: csc form1.cs

      -or-

    • Pokud používáte Visual Basic, zadejte: vbc form1.vb

  3. Na příkazovém řádku zadejte: Form1.exe.

Přidání ovládacího prvku a zpracování události

Předchozí postup ukazuje, jak jednoduše vytvořit základní formulář Windows Form, který se zkompiluje a spustí. V dalším postupu se dozvíte, jak vytvořit a přidat ovládací prvek do formuláře a zpracovat událost ovládacího prvku. Další informace o ovládacích prvcích, které můžete přidat do model Windows Forms, najdete v tématu model Windows Forms Ovládací prvky.

Kromě toho, jak vytvářet model Windows Forms aplikace, byste měli rozumět programování na základě událostí a jak zpracovat uživatelský vstup. Další informace naleznete v tématu Vytváření obslužných rutin událostí v model Windows Forms a zpracování uživatelského vstupu

Deklarace ovládacího prvku tlačítka a zpracování události kliknutí

  1. Deklarujte ovládací prvek tlačítka s názvem button1.

  2. V konstruktoru vytvořte tlačítko a nastavte jeho SizeLocation a Text vlastnosti.

  3. Přidejte tlačítko do formuláře.

    Následující příklad kódu ukazuje, jak deklarovat ovládací prvek tlačítka:

    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. Vytvořte metodu Click pro zpracování události tlačítka.

  5. V obslužné rutině události kliknutí zobrazte MessageBox zprávu "Hello World".

    Následující příklad kódu ukazuje, jak zpracovat událost kliknutí ovládacího prvku tlačítka:

    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. Přidružte Click událost k metodě, kterou jste vytvořili.

    Následující příklad kódu ukazuje, jak přidružit událost k metodě.

    button1.Click += new EventHandler(button1_Click);
    
    Private Sub button1_Click(ByVal sender As Object, _
        ByVal e As EventArgs) Handles button1.Click
    
  7. Zkompilujte a spusťte aplikaci, jak je popsáno v předchozím postupu.

Příklad

Následující příklad kódu je úplný příklad z předchozích postupů:

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

Viz také