Kopírování celé záložky včetně komponent na ní – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kopírování celé záložky včetně komponent na ní – .NET – Fórum – Programujte.comKopírování celé záložky včetně komponent na ní – .NET – Fórum – Programujte.com

 

motorcb0
Newbie
13. 2. 2013   #1
-
0
-

Zdravím.

Mám takový zvláštní problém :)

Potřeboval bych udělat přesnou kopii celé záložky, včetně všech komponent na záložce a jejich eventů.

Po spuštění programu mám vytvořené 2 záložky. První záložka je informativní a nic se na ní neděje.
Pro zjednodušení mám na druhé záložce texbox, button na zobrazení hodnoty zadané do textboxu. A tlačítko na kolování záložky(vzor pro klonování bude vždy tato záložka). Chtěl bych aby se po kliknutí na tlačítko KLONOVAT udělala kopii 2. záložky => budou celkem 3 záložky.
Na 3. záložce opět bude možné udělat klon, ovšem klovat se bude vždy 2. záložka.

Klonování 2. záložky: 

            //vytvor novou zalozku
            string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
            TabPage myTabPage = new TabPage(title);
            myTabPage.BackColor = Color.White;
            tabControl1.TabPages.Add(myTabPage);



            //zkopiruj prvky z prvni zalozky na nove vytvorenou
            foreach (Control c in this.tabControl1.TabPages[1].Controls)
            {
                Control cNew = (Control)Activator.CreateInstance(c.GetType());

                PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(c);

                foreach (PropertyDescriptor entry in pdc)
                {
                    object val = entry.GetValue(c);
                    entry.SetValue(cNew, val);
                }

                this.tabControl1.TabPages[tabControl1.TabCount - 1].Controls.Add(cNew);
            }

Vytvoří klon záložky, včetně všech komponent, ovšem tyto komponenty nemají žádné eventy. Když na ně kliknu, nic se nestane.

Jak klonovat komponenty včetně eventů?

Ukázka kodu (VS 2010): http://uloz.to/…Qk/clone-zip

Nahlásit jako SPAM
IP: 93.99.186.–
P
~ Anonymní uživatel
212 příspěvků
14. 2. 2013   #2
-
0
-

Udelej si obsah zalozky jako UserControl a ten pak umistuj na nove zalozky.

Nahlásit jako SPAM
IP: 85.93.116.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Podobná vlákna

Kopírování komponent v C++ ??? — založil ota.simek@email.cz

Eclipse záložky? — založil ad3san

Zalozky vo FF 2.0.0.1 zmizli — založil dalaman

AJAX a zalozky — založil dudo1904

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý