NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Ladislav Niderle:30.6.2017 12:46

Ahoj mohl by mi prosím někdo poradit jak v C# udělat to, že v tray ikoně, kterou umím vytvořit zobrazi v případě potřeby informaci o tom, že mi třeba běží 3 procesy? (ty procesy jsem dal jen jako zjednodušení). V průběhu času se toto číslo mění. Chtěl jsem něco jako je u skypu, že se mi dole ukáže číslo kolik mám zrovna nepřečtených zpráv. A mělo by jít i po třeba dvojkliku se na to odkázat a ukázat právě mé běžící procesy. Jde mi jen, aby mi někdo ukázal cestu, snad zbytek již zvládnu s pomocí, ale nechci, aby mi to někdo přímo udělal. Takže moc děkuji za případnou pomoc.

 
Odpovědět
30.6.2017 12:46
Avatar
zelvicek
Člen
Avatar
zelvicek:30.6.2017 13:08

Jednoduše: v tray se zobrazuje ikona - musíš tedy měnit/nastavovat ikonu té tray komponentě. A kde vzít ty ikony? Můžeš si je předem vytvořit nebo generovat ve své aplikaci.

 
Nahoru Odpovědět
30.6.2017 13:08
Avatar
Odpovídá na zelvicek
Ladislav Niderle:30.6.2017 13:55

A dá se někde zjistit jak si vygeneroat potřebnou ikonu?

 
Nahoru Odpovědět
30.6.2017 13:55
Avatar
HONZ4
Člen
Avatar
Odpovídá na Ladislav Niderle
HONZ4:30.6.2017 21:16
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    /// <summary>
    /// přidá text do tray ikony
    /// </summary>
    /// <param name="str">text</param>
    public void AddTextToIcon(string str)
    {
        try
        {
            Font font = new Font("Arial", 10, FontStyle.Regular, GraphicsUnit.Pixel);
            Bitmap bmp = new Bitmap(16, 16);
            Graphics g = Graphics.FromImage(bmp);
            g.Clear(Color.Transparent);
            g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit;
            g.DrawIcon(Properties.Resources.Ikona, 0, 0); //ikonu jsem přidal v nastavení do resources
            g.DrawString(str, font, new SolidBrush(Color.Yellow), 0, 2);
            notifyIcon1.Icon = Icon.FromHandle(bmp.GetHicon());
        }
        catch (Exception) { }
    }
    //timer generující text s nastavením intervalu na 1000 ms
    private void timer1_Tick(object sender, EventArgs e)
    {
        AddTextToIcon(DateTime.Now.Second.ToString());
    }
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
30.6.2017 21:16
Avatar
zelvicek
Člen
Avatar
zelvicek:30.6.2017 21:23

Nerozumím, v čem je problém. Větu "A dá se někde zjistit jak si vygenerovat potřebnou ikonu?" považuji za přímý rozpor s větou "..., že v tray ikoně, kterou umím vytvořit...".

Nebo máš problém otevřít prohlížeč, napsat do něj ".net generate icon", kliknout na cca 4. odkaz (https://www.codeproject.com/…Icons-safely) a pročíst si článek? I neanglicky mluvící jedinec z těch kusů kódů něco sesmolí či najde cestu, co hledat dále.

 
Nahoru Odpovědět
30.6.2017 21:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.