@FilayVasia

Как правильно реализовать работу с треем?

private void button3_Click_1(object sender, EventArgs e)
        {
            string filename;
           
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                
                //Контекстное меню в трее
                m_menu = new ContextMenu();
                m_menu.MenuItems.Add(0,
                    new MenuItem("Show", new System.EventHandler(Show_Click)));
                m_menu.MenuItems.Add(1,
                    new MenuItem("Hide", new System.EventHandler(Hide_Click)));
                m_menu.MenuItems.Add(2,
                    new MenuItem("Exit", new System.EventHandler(Exit_Click)));
                m_menu.MenuItems.Add(3,
                    new MenuItem("Stop", new System.EventHandler(Stop_Click)));
                m_menu.MenuItems.Add(4,
                    new MenuItem("Continue", new System.EventHandler(Continue_Click)));
                //
 
               // Работа в фоновом режиме, перемещение программы в трей
                Hide();
                notifyIcon1.Icon = new Icon("Lemon64 (1).ico");
                notifyIcon1.ContextMenu = m_menu;
                notifyIcon1.BalloonTipTitle = "Программа начала свою работу";
                notifyIcon1.BalloonTipText = "Обратите внимание что программа была спрятана и продолжит свою работув трее.";
                notifyIcon1.ShowBalloonTip(5000);//показывает сколько милисекунд будет спрятана программа
                //
                
               
                filename = folderBrowserDialog1.SelectedPath;//запись в переменную путь
                    textBox3.Text = filename;//вывод пути
 
                string[] PathPhoto3 = Directory.GetFiles(filename, "*.*", SearchOption.AllDirectories);
 
                //количество файлов
                int SumFiles = PathPhoto3.Length;
                    label2.Text = SumFiles.ToString();
                //
 
                //=====Запуск функции Function1===============
                    Function1(PathPhoto3, filename);
                //============================================
 
                //Удаление лишних папок
                string[] dirs = Directory.GetDirectories(filename, "*", SearchOption.AllDirectories);
 
                for (int y = dirs.Length - 1; y >= 0; y--)
                {
                    if (Directory.GetFileSystemEntries(dirs[y]).Length == 0)
                        Directory.Delete(dirs[y]);
                }
                //
            }
 //Работа в фоновом режиме, перемещение программы в трей
            notifyIcon1.Icon = SystemIcons.Exclamation;
            notifyIcon1.Icon = new Icon("yes.ico");
            notifyIcon1.BalloonTipTitle = "Программа завершила свою работу";
            notifyIcon1.BalloonTipText = "Вы можете перейти в указанную папку и просмотреть результат работы программы.";
            notifyIcon1.ShowBalloonTip(5000);//показывает сколько милисекунд будет спрятана программа
Подскажите пожалуйста, в чем может быть логическая ошибка или как реализовать чтобы при нажатии на кнопку после
private void button3_Click_1(object sender, EventArgs e)
        {
            string filename;
           
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
программа сворачивалась в трей, а при нажатии на иконку правой кнопкой мышки показывалось контекстное меню, и при нажатии на иконку левой кнопкой мышки программа разворачивалась. Помогите пожалуйста как можно это реализовать, а то совсем запуталась.
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы