NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 18 - Vlastní ovládací prvky v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jirka
Člen
Avatar
Jirka:4.9.2013 19:34

Je tam chyba, máš tam navíc tyto příkazy:

mujProgressBar1­.Increment(in­t.Parse(numeri­cUpDown1.Valu­e.ToString()));
mujProgressBar1­.Increment();
mujProgressBar1­.Decrement(in­t.Parse(numeri­cUpDown1.Valu­e.ToString()));
mujProgressBar1­.Decrement();

 
Odpovědět
4.9.2013 19:34
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Jirka
Jan Vargovský:4.9.2013 19:44

Je to v tom kódu, asi aby ukázal přetěžování metod. (metody se stejným názvem, ale jiným počtem parametrů)

 
Odpovědět
4.9.2013 19:44
Avatar
Jirka
Člen
Avatar
Odpovídá na Jan Vargovský
Jirka:4.9.2013 20:05

Dobrá, ale to by ty metody musel volat na existujícím objektu.

 
Odpovědět
4.9.2013 20:05
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Jirka
Jan Vargovský:4.9.2013 20:26

Podle velikosti písmen, jsem si jist, že je to existující objekt.

 
Odpovědět
4.9.2013 20:26
Avatar
Jirka
Člen
Avatar
Odpovídá na Jan Vargovský
Jirka:4.9.2013 20:57

Seš si opravdu jistý ? Já v celém kódu vidím založení pouze jednoho objektu, a to:

MujProgressBar prog = new MujProgressBar();

mujProgressBar1 tam nikde v celém kódu založený není, pouze prog.
Hod si celý kód do Visuálu, podtrhne ti to ty řádky, které jsem napsal výše.

 
Odpovědět
4.9.2013 20:57
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Jirka
Jan Vargovský:4.9.2013 21:06

Na obrázku jsou dva, asi chtěl misaz ukázat, že ta komponenta se přidá do Toolboxu v Designeru formuláře a můžeš si jí přidat jako jakoukoliv ostatní. To znamená, že jednu tam přidal manuálně a druhou pomocí kódu :) (ve skutečnosti se přidali obadva pomocí kódu, ale nevím jak zběhlý v C# jsi)

Editováno 4.9.2013 21:06
 
Odpovědět
4.9.2013 21:06
Avatar
Odpovídá na Jan Vargovský
Michal Žůrek - misaz:4.9.2013 21:51

přesně tak proto má článek podkapitoly
Implementace prvky

  • z toolboxu
  • z kódu

první varianta je deklarována kdesi v hlubinách kam se většina z nás nikdy nedostane (ve WPF už vůbec ne). A druhá tam taky asi někde je, protože mi to fungovalo.

Nicméně ukončíme debaty. Asi jste stejně všichni pochopili že to mělo jen demonstrovat základy.

 
Odpovědět
4.9.2013 21:51
Avatar
Jirka
Člen
Avatar
Odpovídá na Jan Vargovský
Jirka:4.9.2013 21:53

Jo aha, já jsem postup s Toolboxem ignoroval, protože se mi ze záhadných důvodů komponenta vůbec neobjevila, tak jsem rovnou přešel na postup pomocí kódu.
Vůbec jsem si nevšiml toho druhého progress baru. Tak hlavně, že jsme se domluvili :)

 
Odpovědět
4.9.2013 21:53
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Jirka
Jan Vargovský:4.9.2013 21:56

Když vytvoříš komponentu, musíš potom kód zkompilovat (Debug -> build nebo F6) aby se ti objevil v designeru.

 
Odpovědět
4.9.2013 21:56
Avatar
Zdeněk Pavlátka:10.10.2014 15:11

V článku je několik chyb:

1. prvek na začátku pojmenuješ MujProgressBar.cs a po chvíli tam máš

V Solution Exploreru klikněte na MujOvladaciPrvek.cs, a potom klikněte na Show Code.

2. V kódu metody Increment() máš trochu nesmysl:

public void Increment()
{
        if (this.Value + 1 > maxValue)
                throw new ArgumentOutOfRangeException("Hodnota překročila maximum");
        this.Value += Value; // tím hodnotu zdvojnásobíš, máš přičíst jedničku
}
Odpovědět
10.10.2014 15:11
Kolik jazyků umíš, tolikrát jsi programátor.
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 10 zpráv z 16.