Cara: Menambahkan ke atau Menghapus dari Koleksi Kontrol pada Run Time
Tugas umum dalam pengembangan aplikasi adalah menambahkan kontrol ke dan menghapus kontrol dari kontrol kontainer apa pun pada formulir Anda (seperti Panel atau GroupBox kontrol, atau bahkan formulir itu sendiri). Pada waktu desain, kontrol dapat diseret langsung ke panel atau kotak grup. Pada waktu proses, kontrol ini mempertahankan Controls
koleksi, yang melacak kontrol apa yang ditempatkan pada mereka.
Catatan
Contoh kode berikut berlaku untuk kontrol apa pun yang mempertahankan kumpulan kontrol di dalamnya.
Untuk menambahkan kontrol ke koleksi secara terprogram
Buat instans kontrol yang akan ditambahkan.
Atur properti kontrol baru.
Tambahkan kontrol ke
Controls
kumpulan kontrol induk.Contoh kode berikut menunjukkan cara membuat instans Button kontrol. Ini memerlukan formulir dengan Panel kontrol dan bahwa metode penanganan peristiwa untuk tombol yang dibuat,
NewPanelButton_Click
, sudah ada.Public NewPanelButton As New Button() Public Sub AddNewControl() ' The Add method will accept as a parameter any object that derives ' from the Control class. In this case, it is a Button control. Panel1.Controls.Add(NewPanelButton) ' The event handler indicated for the Click event in the code ' below is used as an example. Substite the appropriate event ' handler for your application. AddHandler NewPanelButton.Click, AddressOf NewPanelButton_Click End Sub
public Button newPanelButton = new Button(); public void addNewControl() { // The Add method will accept as a parameter any object that derives // from the Control class. In this case, it is a Button control. panel1.Controls.Add(newPanelButton); // The event handler indicated for the Click event in the code // below is used as an example. Substitute the appropriate event // handler for your application. this.newPanelButton.Click += new System.EventHandler(this. NewPanelButton_Click); }
Untuk menghapus kontrol dari koleksi secara terprogram
Hapus penanganan aktivitas dari peristiwa. Di Visual Basic, gunakan kata kunci Pernyataan RemoveHandler; di C#, gunakan operator -=.
Remove
Gunakan metode untuk menghapus kontrol yang diinginkan dari koleksi panelControls
.Dispose Panggil metode untuk merilis semua sumber daya yang digunakan oleh kontrol.
Public Sub RemoveControl() ' NOTE: The code below uses the instance of ' the button (NewPanelButton) from the previous example. If Panel1.Controls.Contains(NewPanelButton) Then RemoveHandler NewPanelButton.Click, AddressOf _ NewPanelButton_Click Panel1.Controls.Remove(NewPanelButton) NewPanelButton.Dispose() End If End Sub
private void removeControl(object sender, System.EventArgs e) { // NOTE: The code below uses the instance of // the button (newPanelButton) from the previous example. if(panel1.Controls.Contains(newPanelButton)) { this.newPanelButton.Click -= new System.EventHandler(this. NewPanelButton_Click); panel1.Controls.Remove(newPanelButton); newPanelButton.Dispose(); } }
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