IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 17. diel - Vlastné ovládacie prvky v C # .NET

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
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();

 
Odpovedať
4.9.2013 19:34
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá 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ů)

 
Odpovedať
4.9.2013 19:44
Avatar
Jirka
Člen
Avatar
Odpovedá na Jan Vargovský
Jirka:4.9.2013 20:05

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

 
Odpovedať
4.9.2013 20:05
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Jirka
Jan Vargovský:4.9.2013 20:26

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

 
Odpovedať
4.9.2013 20:26
Avatar
Jirka
Člen
Avatar
Odpovedá 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.

 
Odpovedať
4.9.2013 20:57
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá 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)

Editované 4.9.2013 21:06
 
Odpovedať
4.9.2013 21:06
Avatar
Odpovedá 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.

 
Odpovedať
4.9.2013 21:51
Avatar
Jirka
Člen
Avatar
Odpovedá 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 :)

 
Odpovedať
4.9.2013 21:53
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá 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.

 
Odpovedať
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
}
Odpovedať
10.10.2014 15:11
Kolik jazyků umíš, tolikrát jsi programátor.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!