UserControl - funkcionalita kontejneru   otázka

VB.NET, Komponenty

zdravím, tento dotaz navazuje na tento příspěvek: http://www.vbnet.cz/forum-tema--4303-mou...

Jde o toto:

1) Vytvořil jsem si userControl který má fungovat jako kontejner (např. panel) a má nějakou svoji vnitřní funkcionalitu (zajíždění panelu kvůli úspoře místa). To je ok.

2) UserControl jsem v návrhovém režimu umístil na formulář. Také ok včetně funkcionality zajíždění panelu

3)Chtěl jsem na tento userControl umístit nějaké další prvky (třeba buttony). Zde jsem narazil, protože se tyto komponenty neumístí na userControl ale na formulář. To je pak samozřejmě problém, protože panel mi sice zajede, ale na komponenty které jsem "do něj" přidal v návrhovém režimu to nemám vliv takže zůstenou "viset" nad formulářem.

Pokud buttony přidávám do mého userControlu dynamicky tak je vše ok.

        Dim myButton As New Button
        myButton.Size = New Size(120, 25)
        myButton.Location = New Point(15, 35)
        myButton.Text = "TEST"

        Me.Tb0LeftSidePanel.Controls.Add(myButton)
        myButton.BringToFront()

Otázka tedy zní, dá se nějak přinutit designer aby umisťoval controly na můj UserControl (tak jak to normálně funguje u kontejnerů) a ne na formulář?

Sice bych si asi vystačil s dynamickým přidáváním controlů, ale občas to je nepohodlné a hlavně to chci udělat pořádně když už jsem se do toho pustil.

Díky za jakékoliv nakopnutí.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jestli to chápu správně, tak komponenta je vytvořená v designeru. Nebylo by funkčnější ji podědit z Panel a pak jen doplnit požadované chování a design ? Řešilo by to jistě i tento problém.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Narazil jsem na kdesi na netu na následující info :

Je nutné označit ručně třídu atributem, a to asi takhle :

<Designer(GetType(ParentControlDesigner))>_
Public Class MujRamecek
   Inherits System.Windows.Forms.UserControl
....
....
End Class

Snad to omůže.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback