Interakce mezi stejnými User Control   zodpovězená otázka

VB.NET, Komponenty, Algoritmy, WinForms

Mějme vlastní komponentu skládající se z labelu ukazující čas a tlačítka.

Po kliknutí na tlačítko se spustí časovač do souboru, který si hlídá jiná aplikace se zapíše 1.

Když znovu kliknu na tlačítko, časovač se zastaví, do stejného souboru se zapíše 0 a nadřazené aplikaci se pošle informace kdy se časovač rozběhl, kdy se zastavil, jak dlouho to trvalo a informace o UserControlu, kterou pak definuji při vkládání userControlů do aplikace.

Při dalším kliku se pokračuje, tam kde se skončilo.

Funkce jednoduchá, efektivní v hlavní aplikaci ani řádek kódu.

O čem ale přemýšlím. Takto mi můžou běžet časovače třeba všechny.

Jak to ale provést, pokud bych chtěl, když kliknu na tlačítko v UserControlu, aby se mi ostatní UserControly zastavily pokud běží a provedly své příslušné akce (zapsání nadřazené aplikaci start, konec, dobu běhu, info) - tj. jako bych na všechny ostatní , pokud běží, klikl.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem na to nakonec přišel.

v user controlu je public procedura na zastavení počítadla. Pokud tedy na něj kliknu a počítadlo běží (readonly property running as boolean) tak se vyvolá procedura zastavení.

Pokud neběží tak projdu list of pocitadlo v nadřazeném formu a u každého running = true provedu jeho vlastní proceduru zastavení.

No takže nakonec to nebylo až tak složité, jak se mi zpočátku zdálo.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback