NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Ondřej Granát:21.9.2017 16:50

Zdravím celé forum,
Dělám si takový "program" ,který mění jen dvě stránky. Vytvořil jsem si z toolboxu 2 WebBrowser a napsal tento kod ,který nefunguje.

public TestManager()
{
InitializeCom­ponent();
webBrowser1.Visible = false;
webBrowser2.Visible = false;
}
private void tlacitko_Clic­k(object sender, EventArgs e)
{
if (webBrowser2.Vi­sible == false)
{
webBrowser1.Visible = false;
webBrowser2.Visible = true;
}

}
private void tlacitko2_Clic­k(object sender, EventArgs e)
{
if (webBrowser1.Vi­sible == false)
{
webBrowser2.Visible = false;
webBrowser1.Visible = true;
}
}

Vím ,že to jde udělat jinak ,ale jsem uplný začátečník a ještě neznám další způsoby.
Za upravu kodu nebo jinou metodu budu rád.

Editováno 21.9.2017 16:51
 
Odpovědět
21.9.2017 16:50
Avatar
Jakub Hrdoun
Člen
Avatar
Jakub Hrdoun:21.9.2017 17:55

A XAML kód z window?

 
Nahoru Odpovědět
21.9.2017 17:55
Avatar
Ondřej Granát:21.9.2017 18:02

Jéžiš já jsem se přepsal. Né Worms Apps ,ale Windows Forms Apps.
Takže XAML kod nemám.

 
Nahoru Odpovědět
21.9.2017 18:02
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Ondřej Granát
Petr Nymsa:21.9.2017 18:58

Chapu dobre ze se snazis jen prepinat viditelnost tech 2 komponent? Prpc nemit jedno tlačítko a pri kazdem stisku pouze invertujes viditelnost? Navic pri startu ma byt jeden browser povoleny ne?

Nahoru Odpovědět
21.9.2017 18:58
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Ondřej Granát:21.9.2017 19:15

Vysvětlím. Já zkouším program ,který když se spustí bude mít 2 tlačítka ,kde budou 2 rozdílné url weby. Jelikož nevím jak změnit url ve stejným prohlížeči tak mě napadlo ,že tlačítkem vypnu browser a zapne se druhý a naopak. A to ,že při startu není povolený ani jeden to jsem jen tak chtěl ,aby si ten browser zapl sám přes tlačítko.

Vím ,že to jde udělat jinak ,ale prostě netuším jak. Byl bych moc rád za kod když už.

 
Nahoru Odpovědět
21.9.2017 19:15
Avatar
Ondřej Granát:21.9.2017 19:39

Zkoušel jsem třeba ,ale nefungovalo.

private void tlacitko_Clic­k(object sender, EventArgs e)
{
webBrowser1.Na­vigate("www.sez­nam.cz");
}

 
Nahoru Odpovědět
21.9.2017 19:39
Avatar
JK CZ
Člen
Avatar
Odpovídá na Ondřej Granát
JK CZ:21.9.2017 20:54

A takto:

private void tlacitko_Click(object sender, EventArgs e)
{
var addressText = "https://www.seznam.cz/";
WebBrowser.Navigate(new Uri(addressText));
}
 
Nahoru Odpovědět
21.9.2017 20:54
Avatar
Ondřej Granát:21.9.2017 21:19

Pořád nic.
Zkusil jsem to i s refreshem a taky nic.

private void button2_Click(ob­ject sender, EventArgs e)
{
var addressText = "https://www.sez­nam.cz/";
webBrowser1.Na­vigate(new Uri(addressText));
webBrowser1.Re­fresh();
}

 
Nahoru Odpovědět
21.9.2017 21:19
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Ondřej Granát
Petr Nymsa:21.9.2017 21:44

Predpokladam ze pokud v kodu na click tlacitka je navigace, v konstruktoru uz neni nastavena visibility na false? :)

Nahoru Odpovědět
21.9.2017 21:44
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Ondřej Granát:21.9.2017 21:50

V konstruktoru?
Visibility mám nastavené na true.

 
Nahoru Odpovědět
21.9.2017 21:50
Avatar
David Moškoř:21.9.2017 23:43

Ale to by mělo fungovat. Jsi si jisty že máš nastavený eventhandler na button2_Click?

Nahoru Odpovědět
21.9.2017 23:43
Život je příliš krátký na to, abyste vymýšleli smysluplné názvy proměnných...
Avatar
Odpovídá na Ondřej Granát
Michal Štěpánek:22.9.2017 6:11

Proč máš tedy oba browsery nastaveny, aby nebyly vidět?

public TestManager()
{
InitializeComponent();
webBrowser1.Visible = false;
webBrowser2.Visible = false;
}

Co ti vlastně konkrétně nefunguje? Co se ti zobrazí při spuštění? Jak se to "nefungování" projevuje? Vyběhne nějaká hláška?

Nahoru Odpovědět
22.9.2017 6:11
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ondřej Granát:22.9.2017 13:49

Shrnutí - Toto téma jsem psal kvůli tomu ,že mi nefungoval ten horní kod jak jsem napsal. Je tam vysvětlené jak by to mělo fungovat. Ted ,ale vím ,že existuje jiný způsob a ten bych tady chtěl řešit.

Mám udělaný webbrowser a nad ním mám 2 tlačítka - seznam, facebook třeba a já chci ,že když kliknu na facebook tlačítko(button1) tak se mi otevře v browseru facebook stránka.

zkoušel jsem to takhle.

private void button2_Click(ob­ject sender, EventArgs e)
{
var addressText = "https://www.sez­nam.cz/";
webBrowser1.Na­vigate(new Uri(addressText));
webBrowser1.Re­fresh();
}

Takhle by to mělo fungovat (prej) ,ale nefunguje. S tímhle bych potřeboval pomoct.
Normálně se mi kod skompiluje ,ale když kliknu na tlačítko tak nic.

(Ten horní kod v prvním příspěvku si už nevšímejte.)

 
Nahoru Odpovědět
22.9.2017 13:49
Avatar
dez1nd
Člen
Avatar
Odpovídá na Ondřej Granát
dez1nd:22.9.2017 14:00

co místo var použít

Uri addressText  = new Uri("https://www.seznam.cz/", UriKind.Absolute);
 
Nahoru Odpovědět
22.9.2017 14:00
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Ondřej Granát
Petr Nymsa:22.9.2017 14:02

Mas přiřazenou událost OnClick k button2? (zkontroluj si to v designeru). Případně do metody dej breakpoint (F9) a zkus aplikaci pustit v debug modu (F5).

Nahoru Odpovědět
22.9.2017 14:02
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Ondřej Granát:22.9.2017 16:30

dez1nd: Nefunguje
Zkusil jsem použít tento kod co jsem našel v desingeru na to url

private void button2_Click(ob­ject sender, EventArgs e)
{
this.webBrowser1­.Url = new System.Uri("http://w­ww.seznam.cz", System.UriKin­d.Absolute);
webBrowser1.Re­fresh();
}
a to mi funguje ,ale když to dám stejnou věc (krom stejné url) do button1 tak mi to nefunguje.

Petr Nymsa: Událost mám přiřazenou.

 
Nahoru Odpovědět
22.9.2017 16:30
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Ondřej Granát
Petr Nymsa:22.9.2017 21:48

Pokud chced aby lide vedeli ze odpovidas, vyuzij k tomu tlacitko odpovedet.

Posli sem mozna cely vypis code-behind formu a i vcetne kodu "designeru"

Nahoru Odpovědět
22.9.2017 21:48
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Ondřej Granát
Michal Štěpánek:23.9.2017 9:50

Pro psaní kódu používej tlačítko (druhé zleva), páč takto je to nepřehledné. Tyto útržky nikam nevedou, ukaž větší části kódu a jak na sebe navazují, jinak se nikam nepohnem...

Nahoru Odpovědět
23.9.2017 9:50
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Petr Nymsa
Ondřej Granát:23.9.2017 16:14

Pro všechny co se mi snažili pomoct moc děkuji.
Problém jsem nakonec vyřešil - našel jsem si v desingeru kod

this.webBrowser1.Url = new System.Uri("http://facebook.com/", System.UriKind.Absolute);

Problém byl v tom ,že jsem to napsal k tomu tlačítku takhle.

private void button1_Click(object sender, EventArgs e)
       {
           this.webBrowser1.Url = new System.Uri("http://facebook.com/", System.UriKind.Absolute);
          webBrowser1.Refresh();
       }

Ten refresh mi to blokoval.
Bez refreshe mi to ted jde normálně přepínat s oběma tlačítky stránky.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
23.9.2017 16:14
Avatar
dez1nd
Člen
Avatar
Odpovídá na Ondřej Granát
dez1nd:23.9.2017 17:47

Já si říkal proč by tam měl být refresh hned za přesměrováním :)

 
Nahoru Odpovědět
23.9.2017 17:47
Avatar
Odpovídá na dez1nd
Ondřej Granát:23.9.2017 17:47

Jsem právě hledal na googlu a psali tam ,že by tam měl být refresh jinak se neaktualizuje obsah v browseru.

 
Nahoru Odpovědět
23.9.2017 17:47
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.