Gambaran Umum Penggunaan Kontrol di Formulir Windows
Topik ini menjelaskan elemen penting dari aplikasi Formulir Windows dan memberikan contoh sederhana yang menggunakan kontrol dan menangani peristiwa dalam aplikasi Formulir Windows.
Aplikasi Formulir Windows Sederhana
Minimal, aplikasi Formulir Windows terdiri dari elemen-elemen berikut:
Satu atau beberapa kelas yang berasal dari System.Windows.Forms.Form.
Metode
Main
yang memanggilstatic
metode (shared
dalam Visual Basic) Run dan meneruskan Form instans ke metode tersebut. Metode ini Run memproses pesan dari sistem operasi ke aplikasi.
Contoh kode berikut menunjukkan elemen penting dari aplikasi Formulir Windows.
Option Explicit
Option Strict
Imports System
Imports System.Windows.Forms
Public Class MyForm
Inherits Form
Public Sub New()
Me.Text = "Hello World"
End Sub 'New
<STAThread()> _
Public Shared Sub Main()
Dim aform As New MyForm()
' The Application.Run method processes messages from the operating system
' to your application. If you comment out the next line of code,
' your application will compile and execute, but because it is not in the
' message loop, it will exit after an instance of the form is created.
Application.Run(aform)
End Sub
End Class
using System;
using System.Windows.Forms;
public class MyForm : Form {
public MyForm() {
this.Text = "Hello World";
}
[STAThread]
public static void Main(string[] args) {
MyForm aform = new MyForm();
// The Application.Run method processes messages from the operating system
// to your application. If you comment out the next line of code,
// your application will compile and execute, but because it is not in the // message loop, it will exit after an instance of the form is created.
Application.Run(aform);
}
}
Menggunakan Kontrol dalam Aplikasi Formulir Windows
Contoh kode berikut menunjukkan aplikasi sederhana yang menggambarkan bagaimana aplikasi Formulir Windows menggunakan kontrol dan menangani peristiwa. Contohnya terdiri dari tiga tombol pada formulir; setiap tombol mengubah warna latar belakang saat diklik.
Option Explicit
Option Strict
Imports System
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Resources
Imports System.Drawing
Public Class MyForm
Inherits Form
Private red As Button
Private blue As Button
Private green As Button
Public Sub New()
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(disposing as Boolean)
MyBase.Dispose(disposing)
End Sub
' InitializeComponent is a helper method for the constructor.
' It is included for consistency with code that is
' auto-generated by the Windows Forms designer in Visual Studio.
Private Sub InitializeComponent()
' Creates three buttons, sets their properties, and attaches
' an event handler to each button.
red = New Button()
red.Text = "Red"
red.Location = New Point(100, 50)
red.Size = New Size(50, 50)
AddHandler red.Click, AddressOf button_Click
Controls.Add(red)
blue = New Button()
blue.Text = "Blue"
blue.Location = New Point(100, 100)
blue.Size = New Size(50, 50)
AddHandler blue.Click, AddressOf button_Click
Controls.Add(blue)
green = New Button()
green.Text = "Green"
green.Location = New Point(100, 150)
green.Size = New Size(50, 50)
AddHandler green.Click, AddressOf button_Click
Controls.Add(green)
End Sub
' Event handler.
Private Sub button_Click(sender As Object, e As EventArgs)
If sender Is red Then
Me.BackColor = Color.Red
Else
If sender Is blue Then
Me.BackColor = Color.Blue
Else
Me.BackColor = Color.Green
End If
End If
End Sub
' The STAThreadAttribute informs the common language runtime that
' Windows Forms uses the single-threaded apartment model.
<STAThread()> _
Public Shared Sub Main()
Application.Run(New MyForm())
End Sub
End Class
using System;
using System.ComponentModel;
using System.Windows.Forms;
using System.Resources;
using System.Drawing;
public class MyForm : Form {
private Button red;
private Button blue;
private Button green;
public MyForm() : base() {
InitializeComponent();
}
protected override void Dispose(bool disposing) {
base.Dispose(disposing);
}
// InitializeComponent is a helper method for the constructor.
// It is included for consistency with code that is
// auto-generated by the Windows Forms designer in Visual Studio.
private void InitializeComponent() {
// A delegate for the click event of a button. The argument to
// the constructor contains a reference to the method that performs the
// event handling logic.
EventHandler handler = new EventHandler(button_Click);
// Creates three buttons, sets their properties, and attaches
// an event handler to each button.
red = new Button();
red.Text = "Red";
red.Location = new Point(100, 50);
red.Size = new Size(50, 50);
red.Click +=handler;
Controls.Add(red);
blue = new Button();
blue.Text = "Blue";
blue.Location = new Point(100, 100);
blue.Size = new Size(50, 50);
blue.Click += handler;
Controls.Add(blue);
green = new Button();
green.Text = "Green";
green.Location = new Point(100, 150);
green.Size = new Size(50, 50);
green.Click += handler;
Controls.Add(green);
}
// Event handler.
private void button_Click(object sender, EventArgs e) {
if (sender == red) this.BackColor = Color.Red ;
else if (sender == blue) this.BackColor = Color.Blue;
else this.BackColor = Color.Green;
}
// The STAThreadAttribute informs the common language runtime that
// Windows Forms uses the single-threaded apartment model.
[STAThread]
public static void Main(string[] args) {
Application.Run(new MyForm());
}
}
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk