• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Soru VB.NET UserControl içinde LinkLabel Listesi Hk.

aeGNoR

Destek Ekibi
Kullanıcı Bilgileri
Katılım
10 Mar 2021
Mesajlar
781
Çözümler
99
Aldığı beğeni
879
Excel Versiyonu
Office 2021 TR
Konuyu Başlatan
Merhaba arkadaşlar ucMenu diye bir nesne tasarlıyorum. Bu tasarladığım nesnenin içerisine istediğim sayıda linklabel eklemek istiyorum. Nesne içerisine değişken sayıda item eklemenin aşağıdaki yönteminden başka yöntemleri de var aslında ama ben nesnemdeki linklabelleri designtime da görmek istiyorum.

Yardımcı olabilecek var mı?

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Ekran görüntüsü 2024-01-24 025426.jpg

Ekran görüntüsü 2024-01-24 025535.png
 
Selam

Sanırım benim anladığım konular değil. Yapay zekaya sordum şöyle bir şey dedi. Belki fikir verir.

----------------------
Nesnenizde linklabel'leri tasarım zamanında görmek için aşağıda birkaç öneri bulunmaktadır. Ancak, tasarım zamanında kontrol koleksiyonuna eleman eklemek genellikle pek önerilmez çünkü bu işlem sık sık sorunlara yol açabilir ve tasarım deneyimini olumsuz etkileyebilir. Bunun yerine, tasarım zamanında kontrol koleksiyonuna eklenen elemanları runtime'da kontrol etmek ve yönetmek daha iyi bir yaklaşım olabilir.

  1. Tasarım Zamanında Dinamik Olarak Kontroller Eklemek:

    Public Sub New()
    ' This call is required by the designer.
    InitializeComponent()
    ' Add any initialization after the InitializeComponent() call.

    ' Tasarım zamanında linklabel eklemek için örnek:
    Dim lbl As New LinkLabel()
    lbl.Text = "LinkLabel1"
    Me.Controls.Add(lbl)
    _ucMenuItems.Add(lbl)
    End Sub

    Bu şekilde, tasarım zamanında bir linklabel örneği eklenir ve _ucMenuItems listesine eklenir.

  2. Tasarım Zamanında LinkLabel'leri Topluca Eklemek:

    <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
    Public ReadOnly Property MenuItems As List(Of LinkLabel)
    Get
    Return _ucMenuItems
    End Get
    End Property

    Bu örnekte, DesignerSerializationVisibility özelliği kullanılarak, _ucMenuItems listesi tasarım zamanında görüntülenir ve linklabel'leri kolayca ekleyebilirsiniz.
Ancak, her iki yöntem de sınırlıdır ve tasarım zamanında tam olarak dinamik bir koleksiyon yönetimi sağlamaz. Bu tür durumlar için daha genel bir çözüm, tasarım zamanında bir koleksiyon oluşturmanın yerine runtime'da kontrol eklemek ve yönetmek olabilir.
 
Hocam merhaba,
Projenizi ekleyebilir misiniz.

Fikir olması açısından kendi çalışmanıza uyarlayın
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Son düzenleme:
Hocam merhaba,
Projenizi ekleyebilir misiniz.

Fikir olması açısından kendi çalışmanıza uyarlayın
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Abi bu tür yöntemleri biliyorum.
Fakat benim yukarıda resimlerde de gösterdiğim gibi nesneyi userforma tasarım modunda ekleyip ve yine tasarım modundayken collection'a tıklayıp orada bütün süreci kontrol edip yönetmek.
İşin aslına bakarsanız ihtiyacım olan bir şey değil ama anladığım kadarıyla bu ileri düzey bir teknik ve böyle bir problemi çözebilirsem benzer şekilde pek çok güzel nesneler tasarlayabilirim.

Adından da anlaşılacağı gibi User Control'ün baş harfleri ve Menuyü birleştirerek nesneme ucMenu adını verdim. Kullanıcı bu nesneyi userformuna yerleştirdiğinde properties penceresinden anında istediği kadar menü itemi ekleyebilecek ve bu eklediği itemleri dilediği gibi handle edebilecek. İşin özü nesneleri ekleyebiliyoruz fakat test için çalıştırdıktan sonra tekrar tasarım moduna geçince nesneler kayboluyor.

Bu arada kendime ait pek çok nesnem var. İhtiyaca göre şekillendirdiğim. Fakat şimdiye kadar tasarım aşamasında içerisine nesne eklemek hiç aklıma gelmemişti.
 
Son düzenleme:
Ahmet Üstad sizin de paylaştığınız ve benim de aşağıda vereceğim kod bir çok kişi için işe yaramış gibi görünüyor. Küçüktür büyüktür işaretleri içerisindeki kodlar sayesinde. Ben denedim işe yaramadı. Sürümle ilgili bir problem yaşıyorum sanırım. Bir kaç farklı sürüm ile deneme yapacağım. Bakalım işe yarayacak mı.
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
Public ReadOnly Property MenuItems As List(Of LinkLabel)
Get
Return _ucMenuItems
End Get
End Property
 
Anladım konuyu,
Ancak inan örnek yapmaya vaktim yok ezberden de biraz zor olur deneme yapmak gerekir.
Belki incelemişsindir ancak ekteki linke bi göz at yine de.

 

Konuyu okuyanlar

Geri
Üst