Windows Forms memungkinkan Anda membuat aplikasi desktop secara visual, dengan menyeret elemen UI ke kanvas. Elemen UI ini mencakup widget seperti tombol, panel, atau kotak centang.

Setiap elemen UI menerima peristiwa tertentu. Misalnya, Anda dapat memiliki peristiwa klik untuk tombol, peristiwa yang diubah untuk kotak centang, atau peristiwa seret dan lepas untuk panel.

Peristiwa menggunakan pengendali atau fungsi peristiwa, yang hanya dijalankan ketika peristiwa tertentu terjadi.

Jenis Acara yang Digunakan untuk Elemen UI yang Berbeda

Setiap elemen UI memiliki daftar acara. Ada banyak kursus di mana Anda bisa pelajari tentang teori dan praktik UX atau UI yang penting untuk membantu Anda memutuskan elemen UI apa yang akan digunakan. Berikut adalah beberapa contoh peristiwa yang digunakan oleh elemen UI.

Acara Key Down, Key Up, atau Key Press

Elemen UI yang memungkinkan pengguna memasukkan teks, seperti kotak teks, dapat menggunakan peristiwa ini. Peristiwa ini dipicu setiap kali pengguna menekan tombol di keyboard mereka.

instagram viewer

Ini dapat berguna dalam skenario di mana Anda memiliki fungsi pencarian, dan Anda mungkin perlu terus-menerus memeriksa apa nilai kotak teks itu.

pribadiruang kosongtextBox1_KeyUp(pengirim objek, KeyEventArgs e)
{
Kotak teks kotak teks = (Kotak Teks) pengirim;
string currentTextBoxValue = kotak teks. Teks;
}

Muat Acara

Peristiwa pemuatan terjadi saat formulir atau elemen UI ditampilkan di layar. Anda bisa menggunakan kejadian ini saat Anda ingin fungsionalitas tertentu terjadi pada tahap inisialisasi formulir atau kontrol.

Satu skenario di mana ini mungkin berguna adalah jika Anda ingin menambahkan kontrol secara terprogram ke formulir saat masih memuat.

pribadiruang kosongFormulir1_Muat(pengirim objek, EventArgs e)
{
ToolTip toolTip1 = baru Tip Alat();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = BENAR;
toolTip1.SetToolTip (this.button1, "Tombol saya1");
toolTip1.Popup += ini.ToolTip1_Popup;
}

Acara popup tooltip terjadi saat Anda mengarahkan kursor ke elemen UI pada aplikasi, dan tooltip muncul. Argumen yang diteruskan ke event handler memungkinkan Anda mengakses data tentang tooltip, seperti teks atau ukurannya.

pribadiruang kosongToolTip1_Popup(pengirim objek, PopupEventArgs e)
{
ToolTip tooltip = (ToolTip) pengirim;
string tooltipText = keterangan alat. GetToolTip (tombol1);
var tooltipUkuran = e. UkuranTips Alat;
}

Acara Seret dan Lepas

Banyak elemen UI dapat menggunakan acara seret dan lepas, termasuk panel, tombol, kotak gambar, kotak grup, dan banyak lagi. Peristiwa ini dipicu saat pengguna menyeret file ke elemen UI.

pribadiruang kosongpanel1_DragDrop(pengirim objek, DragEventArgs e)
{
string[] file = (string[])e. Data. GetData (DataFormat. jatuhkan file, Salah);
}

Acara Mouse Over dan Mouse Leave

Acara mouse di atas menyala saat mouse melayang di atas elemen UI. Setelah mouse pergi dan berhenti melayang di atas elemen, acara mouse leave akan dipicu.

pribadiruang kosongbutton1_MouseTinggalkan(pengirim objek, EventArgs e)
{
Tombol tombol = (Tombol) pengirim;
var tombolTeks = tombol. Teks;
}

Memeriksa Acara yang Diubah

Elemen UI yang memungkinkan pengguna untuk memilih opsi dapat menggunakan peristiwa yang diubah yang dicentang. Ini termasuk tombol radio dan kotak centang. Fungsi dipicu saat Anda mencentang atau menghapus centang pada kotak centang.

pribadiruang kosongcheckBox1_CheckedChanged(pengirim objek, EventArgs e)
{
Kotak centang kotak centang = (Kotak Centang) pengirim;
Status CheckState = kotak centang. Periksa Negara;
bool isChecked = kotak centang. Diperiksa;
}

Nilai Diubah, Nilai yang Dipilih Diubah, atau Tanggal Diubah Acara

Peristiwa perubahan nilai tersedia pada elemen UI yang memungkinkan Anda memilih opsi untuk mengubah nilai. Ini termasuk kotak kombo, pemilih tanggal dan waktu, atau kalender. Fungsi dipicu ketika pengguna memilih nilai baru.

pribadiruang kosongbulanCalendar1_DateChanged(pengirim objek, DateRangeEventArgs e)
{
Kalender BulanKalender = (Kalender Bulan) pengirim;
var hari ini = kalender. Hari iniTanggal;
var dipilihTanggalMulai = e. Awal;
var dipilihDatesEnd = e. Akhir;
}

Klik Tombol Acara

Fungsi event handler klik terpicu saat Anda mengklik tombol.

pribadiruang kosongtombol1_Klik(pengirim objek, EventArgs e)
{
Tombol tombol = (Tombol) pengirim;
string teksValue = tombol. Teks;
}

Struktur Event Handler

Penangan acara memiliki dua parameter utama: pengirim dan objek acara.

Pengirim adalah referensi ke elemen atau objek UI yang telah memicu peristiwa, seperti tombol, kotak centang, atau panel. Misalnya, dalam acara yang diubah kotak centang, pengirim akan menjadi kotak centang yang diklik pengguna.

Parameter event berisi objek yang menyimpan data tentang event yang terjadi. Ini dapat mencakup koordinat X dan Y dari klik tombol, atau lokasi mouse pada saat peristiwa dipicu.

pribadiruang kosongpanel1_DragDrop(pengirim objek, DragEventArgs e)
{
// Akses properti elemen UI yang memicu acara
Panel panel = (Panel) pengirim;
panel. Diaktifkan = Salah;
// Mengakses data dari acara
var data kejadian = e. Data;
}

Cara Membuat dan Menggunakan Penangan Acara

Pertama, buat yang baru Aplikasi Formulir Winforms di Visual Studio. Jika Anda baru mengenal Windows Forms, ada banyak mengkloning aplikasi yang dapat Anda buat sambil mempelajari Formulir Windows.

Penangan Acara di Kanvas

Anda dapat membuat event handler dari jendela properti di sisi kanan kanvas. Setelah Anda membuat aplikasi Windows Forms baru, buat event handler untuk elemen UI kotak centang. Ini akan dipicu ketika pengguna mencentang atau menghapus centang pada kotak centang.

  1. Buka menu toolbox di sebelah kiri Visual Studio. Seret dan lepas elemen UI kotak centang ke kanvas.
  2. Sorot kotak centang di kanvas.
  3. Di jendela properti di panel sebelah kanan, klik ikon petir kuning untuk melihat daftar acara. Gulir ke bawah ke DiperiksaBerubah peristiwa.
  4. Klik pada ruang kosong di sebelah DiperiksaBerubah peristiwa. Ini akan secara otomatis menghasilkan fungsi baru untuk menangani acara tersebut. Fungsi akan dibuat di bagian kode di belakang aplikasi, di. Anda berkas .cs.
    pribadiruang kosongcheckBox1_CheckedChanged(pengirim objek, EventArgs e)
    {
    // Kode Anda di sini
    }

Penangan Acara Menggunakan Kode Dibalik

Buat fungsi baru dalam kode di belakang dan tautkan ke elemen UI di kanvas.

  1. Di kanvas, klik dan seret elemen UI tombol. Secara default, nama tombol baru adalah "button1".
  2. Membuka .cs. Jika Anda telah meninggalkan nama aplikasi Windows Form default "Form1", ini akan menjadi Formulir1.cs.
  3. Di dalam kelas Form1, buat fungsi baru. Pastikan bahwa itu mengikuti struktur event handler, dan memiliki dua parameter untuk pengirim dan objek event.
    pribadiruang kosongbutton1_MouseHoverEvent(pengirim objek, EventArgs e)
    {
    // Kode Anda di sini
    }
  4. Tautkan event handler ke event mouse hover dari button1. Anda dapat melakukan ini di konstruktor.
    publik formulir1()
    {
    Inisialisasi Komponen();
    ini.button1.MouseHover += button1_MouseHoverEvent;
    }
  5. Atau, Anda juga dapat menautkan fungsi ke acara menggunakan jendela properti di kanvas. Buka jendela properti, dan masukkan nama event handler Anda ke dalam bidang MouseHover. Ini akan menjadi button1_MouseHoverEvent.

Cara Menggunakan Event Handler yang Sama Di Beberapa Acara

Anda dapat menautkan fungsi yang sama ke beberapa acara. Dalam hal ini, jika ada satu fungsi yang disebut Acara Tikus, Anda bisa menambahkan event handler itu ke event mouse hover dan mouse click. Ini kemudian akan menangani kedua acara menggunakan fungsi yang sama.

ini.button1.MouseHover += button1_MouseEvent;
ini.button1.MouseClick += button1_MouseEvent;

Menggunakan Acara di Aplikasi Formulir Windows

Aplikasi Windows Forms memungkinkan Anda untuk menarik dan melepas berbagai elemen UI seperti tombol, panel, atau kotak teks ke kanvas. Anda dapat menambahkan pengendali peristiwa ke elemen UI ini, berdasarkan berbagai peristiwa yang dapat terjadi dalam aplikasi.

Jika Anda sedang membangun Aplikasi Windows, Anda mungkin juga ingin menambahkan gambar atau grafik sebagai bagian dari antarmuka pengguna Anda. Anda dapat menggunakan berbagai kelas C# seperti kelas Grafik, Pena, atau Warna, yang memungkinkan Anda menggambar berbagai jenis bentuk ke kanvas.