Automatická aktivace z NotifyIcon   otázka

VB.NET, Komponenty, WinForms

Mám form minimalizovaný pomocí NotifyIcon do systray. Pomocí myši ho bez problému obnovím. Ale potřebuji to udělat automaticky pokud se v určeném adresáři objeví specifický soubor. Tohle odchytím bez problému pomocí FileSystemWatcher. Jak ale nyní programově aktivovat specifický form úlohy ?¨

(Visual studio 10, net 4.0)

Děkuji za rady.

Karel Lichý

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

Normálně pomocí Show nebo Visible, NotifyIcon nemá s formuláři nic společného.

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

Tak to jsem si myslel taky, bohužel tohle nefunguje.

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

Co to znamená "tohle nefunguje"?

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

.Visible = true nebo .Show() se sice pokusí zobrazit daný form, ale nevykreslí jej a po určité chvíli tento paskvil z obrazovky sám zmizí. .ShowDialog()sice udělá co je třeba, ale v okamžiku kdy na měn vyvolám OpenFileDialog jde celý prg do kytek bez jakékoliv hlášky.

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

Něco tam máte špatně. Výše popsaný způsob (.Visible = ...) používám ve své aplikaci a funguje zcela bez problémů.

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

Ale jo, jak jsem psal tak pokud to dám na click z ContextMenu nad systray nebo z timeru tak to funguje ale pokud to dám v události FileSystemWatcheru tak ne

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

FileSystemWatcher by měl mít synchronizaci zabudovanou v sobě, ale přece jenom bych zkusil WindowsFormsSynchronizationContext.Post v jeho události.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Funguje, díky.

nahlásit spamnahlásit spam 0 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