Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.

Tray ikona v C#

Včera jsem si chtěl do mé aplikace přidat tray ikonu, ale bohužel nevěděl jsem jak na to, tak jsem začal googlit a bádat jak to vlastně funguje. Je to tak snadné, až jsem tomu nemohl uvěřit. Myslím že nebude na škodu, když to tu bude.

Co je to vlastně tray ikona?

Tray ikona je vlastně "taková ta malá ikonka v pravo v liště". Slouží pro urychlený přístup a tak podobně, každý určitě ví. Myslím, že je to i mnohem lepší pro přehlednost.

Takže vytvoříme si nový projekt Windows Form Application, název si zvolíme libovolně třeba "tray ikonka". Upravíme si okno dle svého gusta. Poté si otevřeme Toolbox a přidáme do našeho projektu notifyIcon. Náš projekt by tedy měl vypadat nějak takto.

Tray ikona - Windows Forms - Okenní aplikace v C# .NET

Nyní budeme editovat properties notifyIcon1. Vybereme si tedy nějakou ikonku, kterou chceme aby se zobrazovala mezi ostatními tray ikonami. Teď pokud zapneme aplikaci, tak můžeme vidět naší tray ikonu mezi ostatními v liště.

Aby to nebylo takhle suché a určitě každý bude chtít aby "když minimalizuji okno" tak aby zmizelo a zůstala nám jen tray ikonka.

To se dělá následovně : Vybereme Form1 properties vybereme si event-resize. Do něj zapíšeme následující.

private void Form1_Resize(object sender, EventArgs e)
{
    if (FormWindowState.Minimized == this.WindowState)
    {
this.Hide();
    }
    else if (FormWindowState.Normal == this.WindowState)
    {
        // co chcete, aby se stalo, když bude form1 v normálním módu. Např. notifyIcon.Visible = false;
    }

}

Teď když spustíme aplikaci a minimalizujeme jí, tak se nám schová a zůstane jen naše tray ikonka. Teď se vrátíme zpět na properties notifyicon a vybereme event, třeba double mouse click. Do něj zapíšeme :

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    this.Show();
}

Ale jak jste si určitě všimli, nyní když spustíme aplikaci, minimalizujeme jí a nahodíme zpět přes tray ikonku, tak vlastně se objeví... ale jen na liště jako ikonka a musíme jí rozkliknout aby se nám ukázal dialog. To je protože když jsme jí minimalizovali, tak vlastně zůstala minimalizovaná a tak se nám i vyvolá zpět minimalizovaná. To ošetříme přidáním následujícího příkazu do mouse double click na notifyicon.

WindowState = FormWindowState.Normal;

Takže by to mělo vypadat následovně:

private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    this.Show();
    WindowState = FormWindowState.Normal;
}

Jak vidíme, vše už je nyní v pořádku. Teď si ještě ukážeme poslední věc a sice menu po kliknutí pravým tlačítkem myši na tray ikonku. Do projektu přidáme z Toolboxu "ContextMenuStrip". Pak si do menu vložíme nějaké ty hodnoty, já jsem zvolil "menu1,menu2,ko­nec".

Context menu u tray ikony v C# .NET - Windows Forms - Okenní aplikace v C# .NET

Klikneme na notifyIcon1 properties -> ContextMenuStrip a vybereme právě naše menu. Já jsem jen do menu konec zapsal:

this.Close();

Aby se nám aplikace ukončila, každý si udělá menu podle sebe, jak je třeba. Nyní spustíme aplikaci, pravým tlačítkem klikneme na tray ikonku a tadá, je tam právě naše menu, které lze jednoduše modifikovat.

Jako poslední bod bych vám chtěl ještě ukázat, jak vlastně v tray ikoně vyvolat takovou tu informační bublinu. Opět otevřeme notifyicon properties a nastavíme BalloonTipIcon na hodnotu Info. Nyní BalloonTipText slouží k nějakému tomu infu, tedy nějaké informaci, kterou chcete sdělit. BalloonTipTitle je titulek bubliny.

Do aplikace si přidáme nějaký čudlík (button). Klikneme na něj, aby se nám otevřel kód "co se stane, když na čudlík kliknu..." a zapíšeme následující.

private void button1_Click(object sender, EventArgs e)
{
    notifyIcon1.ShowBalloonTip(5000);
}

5000 je doba jak dlouho se má info ukazovat... 5000 je samozřejmě 5 sekund. No a konečně spustíme aplikaci a klikneme na "čudlík". Tadá, info se nám tedy opravdu zobrazí.

trayikona - Windows Forms - Okenní aplikace v C# .NET

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 451x (98.34 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
Windows Forms - Okenní aplikace v C# .NET
Článek pro vás napsal Зайчик
Avatar
Uživatelské hodnocení:
8 hlasů
Коммунизм для нашего будущего!
Aktivity