Notifikační ikona

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: říjen 07
Pohlaví: Muž
Stav:
Offline

Notifikační ikona

Příspěvekod Zeppelin » 24 úno 2012 19:41

Ahoj, použil jsem kód z netu který vykresluje číslo jako notifikační ikonu. Funguje to dobře ale tak po hodině celá aplikace spadne protože se zahltí ramka. Našel jsem že to mají všichni-ten problém. Ale "bitmap.Dispose();" ani "notifyIcon1.Dispose();" nepomůže a navíc to "notifyIcon1.Dispose();" způsobí "blikání ikony". Nevíte jak jinak to odladit? Děkuju.

Kód: Vybrat vše

      void ShowText(string text, Font font, Color col)
      {
          Bitmap bitmap = new Bitmap(16, 16);
             Brush brush = new SolidBrush(col);
           Graphics graphics = Graphics.FromImage(bitmap);
                graphics.DrawString(text, font, brush, 0, 0);
 
             IntPtr hIcon = bitmap.GetHicon();
             Icon icon = Icon.FromHandle(hIcon);
             notifyIcon1.Icon = icon;
             bitmap.Dispose();
      }
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Notifikační ikona

Příspěvekod faraon » 25 úno 2012 06:50

A něco jako brush.Dispose() by použít nešlo? Alokuješ tam dvě věci, ale uvolňuješ jen jednu... Předpokládám že to je v C++.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Notifikační ikona

Příspěvekod Zeppelin » 25 úno 2012 11:27

Tak jsem to zkusil a je to stejné. Je to C#
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Notifikační ikona

Příspěvekod CZechBoY » 26 úno 2012 04:31

zkus Disposnout ještě tu graphics, nebo úplně všechno..
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Notifikační ikona

Příspěvekod Zeppelin » 26 úno 2012 12:20

Pořád stejné :-(

Kód: Vybrat vše

      void ShowText(string text, Font font, Color col)
      {
          NotifyIcon notifyIcon1 = new NotifyIcon();
          notifyIcon1.Visible = true;
          Bitmap bitmap = new Bitmap(16, 16);
             Brush brush = new SolidBrush(col);
                   Graphics graphics = Graphics.FromImage(bitmap);
                graphics.DrawString(text, font, brush, 0, 0);
 
             IntPtr hIcon = bitmap.GetHicon();
             Icon icon = Icon.FromHandle(hIcon);
             notifyIcon1.Icon = icon;
         
             Thread.Sleep(10000);
             bitmap.Dispose();
             brush.Dispose();
             graphics.Dispose();
             notifyIcon1.Dispose();
      }
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Notifikační ikona

Příspěvekod CZechBoY » 26 úno 2012 13:59

asi si to budu muset vyzkoušet, můžeš poslat celej kod a co to má dělat?
já bych řekl, že jen nakreslit nějakej text do tý ikonky.. nejspíš nějakej měřič teploty nebo tak? :)

jak často se volá ta funkce ShowText?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Zeppelin
Level 3.5
Level 3.5
Příspěvky: 939
Registrován: říjen 07
Pohlaví: Muž
Stav:
Offline

Re: Notifikační ikona

Příspěvekod Zeppelin » 04 bře 2012 15:14

Ta funkce se volá když něco příjde ze seriového portu. Asi to nevyzkoušíš protože nemáš to co tam poslí ty čísla :-)
Intel Celeron G1840, 4GB RAM DDR3, MB Gigabyte H81-S2V, Asus GT610 1GB, SSD Kingston HyperX Fury 120GB, WD 500GB SATAII, Asus DVD-RW LightScribe, Fortron 350W

Jak označit téma za vyřešené
HiJackThis
Návod na údržbu systému pro začátečníky


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Ikona na zastupci na ploše ve win 11
    od BigSandy » 10 črc 2024 04:56 » v Windows 11, 10, 8...
    2
    3024
    od Uziv00 Zobrazit poslední příspěvek
    11 črc 2024 17:02
  • Ikona napájení v oznamovací oblasti nejde zapnout Příloha(y)
    od Minapark » 17 pro 2024 20:48 » v Windows 11, 10, 8...
    6
    3974
    od petr22 Zobrazit poslední příspěvek
    09 led 2025 21:48

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů