Merhaba arkadaşlar, bu yazımda sizlere C# User Control Kullanımından bahsedeceğim.
User Control kendi ihtiyaçlarımız doğrultusunda oluşturabileceğimiz bir kontrol olarak adlandırabiliriz. Oluşturduğumuz user control toolbox üzerinde gözükür ve sürükleyip bırakarak kullanabiliriz. Ya da kod yazarak bu user control’ü listeleme işlemi yapmak istersek ona göre kullanabiliriz. Örnek vermek gerekirse bir ürün listemiz var ve ürünün belli başlı bilgilerini göstermek ve bu ürün ile ilgili işlem yaptırmak istiyoruz. Listeleme işlemleri yaparken gridview, listview vs. gibi kontrolleri kullanarak listeleme işlemlerini yapabiliriz ama user control oluşturduğumuzda da kendi custom kontrolümüzü oluşturarak görünümü daha güzel bir listeleme işlemi sağlayabiliriz ve sonrasında da bu user control’ümüzü başka form ekranlarında da kullanabiliriz.
Hemen örnek bir uygulama ile user control kullanımını sağlayalım.
Öncelikle bir windows form application projesi oluşturuyoruz.
Sonrasında da projemize sağ tuşla tıklayarak Add > User Control(Windows Form) seçeneğine tıklayarak bir User Control oluşturuyoruz.
ProductView adında bir user control oluşturuyoruz.
Form ekranı gibi bir ekran geldiğinde de toolbox üzerinden 2 adet label ve 1 adet de button ekliyoruz.
User Control eklemesini yaptıktan sonra da bir Product class dosyası ekliyoruz.
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
Daha sonra ProductView.cs dosyasına gittiğimizde bir adet Product property’si ekliyoruz. Sonrasında da ProductView’ın Load olayında product ile ilgili bilgiyi ya da bilgileri gösterme işlemini sağlıyoruz.
ProductView.cs
public partial class ProductView : UserControl
{
public Product Product { get; set; } // Product Property
public ProductView()
{
InitializeComponent();
}
private void ProductView_Load(object sender, EventArgs e)
{
lblProductName.Text = Product.Name;
}
private void btnProduct_Click(object sender, EventArgs e)
{
MessageBox.Show($"Seçilen ürün: {Product.Name}");
}
}
User Control dosyamızı oluşturduktan sonra da gerekli ürün listemizi gösterim için ana formumuzda işlemleri sağlıyoruz. User Control gösterimlerini sağlamak için FlowLayoutPanel kontrolünü kullanacağız. Bir döngü ile de ürün listemizi dönerek FlowLayoutPanel’in kontrollerine ekleme işlemi yapacağız. Döngü içerisinde de ProductView nesnemizi oluşturarak ve tanımını yaptığımız Product property’sine döngü içerisinde olduğumuz için ilgili ürünün atamasını yapacağız.
Ana formumuzun load olayında da aşağıdaki kodumuzu yazıyoruz.
List<Product> products = new List<Product>()
{
new Product { Id = 1, Name = "Bilgisayar 1" },
new Product { Id = 2, Name = "Bilgisayar 2" },
new Product { Id = 3, Name = "Bilgisayar 3" },
};
foreach (var product in products)
{
ProductView productView = new ProductView();
productView.Product = product;
flowLayoutPanel1.Controls.Add(productView);
}
İlgili kodu yazdıktan sonra da projemizi çalıştırdığımızda aşağıdaki ekran görüntüsü karşımıza gelecektir.
Ekran görüntüsünde de gördüğümüz üzere Ürün isimlerimiz ilgili yerlerde gözüküyor. User Control ve FlowLayoutPanel kullanımlarını sağlayarak kendi belirlediğimiz bir tasarımı oluşturabilir ve gösterimler sağlayabiliriz. Dilersek de bu user control’ü başka form ekranlarında da gösterebiliriz.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere…