Nasıl yapılır: Çalışma Zamanında bir Denetimler Koleksiyonuna Ekleme veya Kaldırma
Uygulama geliştirmedeki yaygın görevler, formlarınızdaki herhangi bir kapsayıcı denetimine (veya GroupBox denetimi, hatta formun Panel kendisi gibi) denetim eklemek ve denetimleri kaldırmaktır. Tasarım zamanında denetimler doğrudan bir panele veya grup kutusuna sürüklenebilir. Çalışma zamanında, bu denetimler üzerinde hangi denetimlerin yerleştirildiğine ilişkin bir koleksiyon tutar Controls
.
Dekont
Aşağıdaki kod örneği, içindeki denetim koleksiyonunu koruyan tüm denetimler için geçerlidir.
Bir koleksiyona program aracılığıyla denetim eklemek için
Eklenecek denetimin bir örneğini oluşturun.
Yeni denetimin özelliklerini ayarlayın.
Denetimi üst denetimin
Controls
koleksiyonuna ekleyin.Aşağıdaki kod örneği, denetimin bir örneğinin Button nasıl oluşturulacağını gösterir. Denetimi olan bir Panel form gerektirir ve oluşturulan
NewPanelButton_Click
düğme için olay işleme yönteminin zaten var olması gerekir.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); }
Bir koleksiyondaki denetimleri program aracılığıyla kaldırmak için
Olay işleyicisini olaydan kaldırın. Visual Basic'te RemoveHandler Deyimi anahtar sözcüğünü kullanın; C# dilinde -= işlecini kullanın.
panelin
Remove
Controls
koleksiyonundan istenen denetimi silmek için yöntemini kullanın.Denetimi tarafından Dispose kullanılan tüm kaynakları serbest bırakmak için yöntemini çağırın.
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(); } }
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin