WebBrowser a tab control? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

WebBrowser a tab control? – .NET – Fórum – Programujte.comWebBrowser a tab control? – .NET – Fórum – Programujte.com

 

Háčkař
~ Anonymní uživatel
7 příspěvků
19. 11. 2010   #1
-
0
-

Dobrý den, snažím se udělat web browser a chci se zeptat, jestli je možnost použít jeden webrowser (vytvořenej kódem) do všech tabpagů, ale zároveň, aby když udělám navigate, aby se na všech tabech ten WB nezměnil na tu stránku, ale jen na tom tabu kterej je zrovna aktivní. Řešil jsem to tak že sem udělal 30x wb0-29 a pak sem přes case a zjištění TabIndexu vkládal a pak navigate přes case taky.. ale příjde mi to dost neefektivní a je s tim moc práce... Tak jestli existuje nějaká možnost to udělat jednoduše.

A ještě taková OOT otázka:

nevíte kde sehnat komponentu od chormu, firefoxu nebo opery.. prostě na jádru něčeho jiné než IE místo původního WB. :) Už jsem progooglil celej net a nic jsem nenašel, tak pokud o něčem takovém víte, tak mi prosim pošlete link.


Dík za odpověď
z pozdravem
Háčkař :-D

Nahlásit jako SPAM
IP: 90.178.0.–
19. 11. 2010   #2
-
0
-
Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
Háčkař
~ Anonymní uživatel
7 příspěvků
19. 11. 2010   #3
-
0
-

No, na co bude? Chtěl byc udělat nějaký odhlečenější prohlížeč, prostě jen tak:) a hlavně si trochu procvičit funkce

Nahlásit jako SPAM
IP: 90.178.0.–
zdenda
~ Anonymní uživatel
257 příspěvků
19. 11. 2010   #4
-
0
-

Místo wb0..wb29 a case pro kažý tab, můžeš jednotlivé instace mít v poli a místo case bude wb[TabIndex].NecoNeco(). Jádro FF a Chrome seženeš logicky u jejich autorů.

Nahlásit jako SPAM
IP: 213.211.51.–
Háčkař
~ Anonymní uživatel
7 příspěvků
20. 11. 2010   #5
-
0
-

Tak jsem to zkusil, ale WB se nejspíš nevytvoří a když pak ještě chci udělat další TAB tak to hodí error

Object reference not set to an instance of an object.


..

Vytvořim wb
WebBrowser[] wb= new WebBrowser[10];

no ale pak když použiju NEwTab(); tak to hodí tu chybu .. nevim proč ale

        private void NewTab()

{
int a = pages + 1;
TabPage tp = new TabPage("Nová stránka " + a);
tabControl1.Controls.Add(tp);
// wb[a].Show();

tabControl1.SelectedIndex = pages + 1;
tp.Controls.Add(wb[tabControl1.TabIndex]);
wb[tabControl1.TabIndex].Dock = DockStyle.Fill;
pages = pages + 1;

}



Nahlásit jako SPAM
IP: 90.178.0.–
20. 11. 2010   #6
-
0
-

To Háčkař : Chyba je obecně velmi výstižný a všeříkající pojem, ale zkuste to prosím znovu, aby i ostatní věděli, kde je vlastně problém.

Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
Háčkař
~ Anonymní uživatel
7 příspěvků
20. 11. 2010   #7
-
0
-

No dobře, mám tam

tu vlastní funkci

   private void NewTab() 

{
int a = pages + 1;
TabPage tp = new TabPage("Nová stránka " + a);
tabControl1.Controls.Add(tp);
// wb[a].Show();

tabControl1.SelectedIndex = pages + 1;
tp.Controls.Add(wb[tabControl1.TabIndex]); -> TENHLE ŘÁDEK BY MĚL PŘEDAT WB DO TABPAGU ALE NEUDĚLÁ NIC
wb[tabControl1.TabIndex].Dock = DockStyle.Fill; -> A TENHLE ŘÁDEK VYHODÍ ERROR PSANÝ VÝŠE.
pages = pages + 1;

}


Ta chyba je : Object reference not set to an instance of an object (jak už jsem psal) ale když si to přeložim tak mi to nedává smysl.

A teda problém je vztom že to vyhodí runtime chybu a taky že se vůbec WB nezobrazí v tabpagi. Já už jinak nevím, jak to popsat.

Nahlásit jako SPAM
IP: 90.178.0.–
20. 11. 2010   #8
-
0
-

To Háčkař : To znamená, že se pokoušíte pracovat s objektem, jehož instance neexistuje. Na jakým řádku k tý chybě dojde?

Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
Háčkař
~ Anonymní uživatel
7 příspěvků
20. 11. 2010   #9
-
0
-

na řádku: wb[tabControl1.TabIndex].Dock = DockStyle.Fill;

Nahlásit jako SPAM
IP: 90.178.0.–
20. 11. 2010   #10
-
0
-

To Háčkař : Takže v poli na pozici tabControl1.TabIndex neexistuje žádná instance, tj. chybí tam vytvoření toho WebBrowseru. Např. něco ve stylu:

wb[tabControl1.TabIndex] = new WebBrowser();

Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
Háčkař
~ Anonymní uživatel
7 příspěvků
20. 11. 2010   #11
-
0
-

díky moc, toho problému jsem se zbavil, ale teď mám další problém.. vlastně ten samej ale v jiné situaci.

když chci udělat navigate
tak to hodí opět tu samou chybu.

Kód:

  wb[tabControl1.SelectedIndex].Navigate("seznam.cz"); 


já už fakt nevim :(

Nahlásit jako SPAM
IP: 90.178.0.–
zdenda
~ Anonymní uživatel
257 příspěvků
21. 11. 2010   #12
-
0
-

Tím TabIndex jsem nemyslel doslova TabControl.TabIndex, ale prostě index aktivního tabu (tedy SelectedIndex). A místo obyčejného pole by asi bylo lepší něco s dynamickou velikostí (třeba ArrayList).

Nahlásit jako SPAM
IP: 213.211.51.–
Háčkař
~ Anonymní uživatel
7 příspěvků
21. 11. 2010   #13
-
0
-

Děkuji moc oboum dvoum za pomoc:) fakt moc díky :)
To zdenda: to mě nenapadlo, tak jsem použil proměnou do které si ukládam kolik tabů už je, a ejhle funguje to :)

ještě jednou díky :)

Nahlásit jako SPAM
IP: 90.178.0.–
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, 8 hostů

 

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