Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1

Свернуть программу в трей

28.08.2012, 13:29. Показов 3961. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.Мое приложение по клику на Minimize box должно свернуться в трей.Добавляю NotifyIcon и делаю так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Обрабатываем Resize
private void MainForm_Resize(object sender, System.EventArgs e)
        {
            if (FormWindowState.Minimized == WindowState)
            {
                notifyIcon1.Visible=true;
                Hide();
            }
        }
//Обработчики NotifyIcon
private void menuMaximize_Click(object sender, System.EventArgs e)
        {
            Show();
            WindowState=FormWindowState.Normal;
            notifyIcon1.Visible=false;
        }
 
 
    private void menuMinimize_Click(object sender, System.EventArgs e)
        {
            WindowState=FormWindowState.Minimized;
Но дело в том,что она висит и в трее,и на таскбаре.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.08.2012, 13:29
Ответы с готовыми решениями:

Свернуть программу в трей
Доброго времени суток! Подскажите пожалуйста команду чтобы по нажатии на допустим Button1 программа сворачивалась так как это делают...

Свернуть программу в трей
Задача вроде простая, но решить не могу... Нужно чтобы при минимизации программа висела в трее и больше ее нигде не было видно. А то она...

Свернуть программу в трей. Error in process code
У меня есть: Form1 Form2 Первую форму скрываем и показываем вторую... Form2 f2 = new Form2(); this.Hide(); ...

4
 Аватар для Vermilion
200 / 168 / 38
Регистрация: 21.10.2011
Сообщений: 178
28.08.2012, 13:50
У формы ShowInTaskBar = false;
0
 Аватар для mikhail_g
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
28.08.2012, 14:01
Используйте метод формы Hide
0
 Аватар для VladislavTepes
80 / 80 / 14
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
28.08.2012, 19:58  [ТС]
Vermilion,все равно отображается
C#
1
MainForm.ShowInTaskbar=false;
mikhail_g, поподробней,пожалуйста.
0
0 / 0 / 0
Регистрация: 08.08.2012
Сообщений: 15
29.08.2012, 01:31
Цитата Сообщение от anonymous2797 Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
//Обрабатываем Resize
private void MainForm_Resize(object sender, System.EventArgs e)
   {
     if (FormWindowState.Minimized == WindowState)
     {
      notifyIcon1.Visible=true;
      Hide();
     }
   }
Этот обработчик вообще на мой взгляд бесполезен и более того, он же и мешает выполнению программы. Рассказываю подробнее:
Resize обрабатывается при условии изменения размера окна будь то нажатие на кнопки "свернуть"/"развернуть" или же если пользователь "тянет" границу окна. Следовательно этому метод обработки:

Цитата Сообщение от anonymous2797 Посмотреть сообщение
C#
1
2
3
4
private void menuMinimize_Click(object sender, System.EventArgs e)
    {
      WindowState=FormWindowState.Minimized;
        }
тупо не вызывается, поскольку был перехвачен заранее методом MainForm_Resize, вот только от того метода толку совершенно никакого!
Итог: В то время, как пользователь нажимает на кнопку Minimize вызывается метод MainForm_Resize который скрывает форму при условии что окно находится уже в свернутом виде, но последнего не произошло по причине перехвата события. Отсюда напрашивается вывод что к сворачиванию дело вообще не доходит((

Думаю что так. В Студии не проверял, нет возможности...

Добавлено через 3 минуты
Пардон! К сворачиванию дело доходит, вот только в соответствующем обработчике отсутствует метод Hide(); из за чего иконка так и висит на панели. А иконки в трее нету поскольку свойство visible не включено.

Добавлено через 3 минуты
Вообщем попробуй так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Обработчики NotifyIcon
private void menuMaximize_Click(object sender, System.EventArgs e)
        {
            Show();
            WindowState=FormWindowState.Normal;
            notifyIcon1.Visible=false;
        }
 
 
    private void menuMinimize_Click(object sender, System.EventArgs e)
        {
            WindowState=FormWindowState.Minimized;
            notifyIcon1.Visible=true;
            Hide();
        }
примерно так...
Надеюсь помог)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.08.2012, 01:31
Помогаю со студенческими работами здесь

Свернуть приложение в трей
Я создал приложение и мне нужно, чтобы при нажатии на кнопку свернуть приложение появлялось в области уведомлений (область рядом с часами)....

Свернуть приложение в трей
Подскажите, пожалуйста, что не так - хочу чтобы окно сворачивалось в трей. Для обработчика формы окна Resize пишу код notifyIcon1.Visible...

Как свернуть приложение в трей?
Привет всем. Вопрос ламера. Как заставить приложение свернуться в трей. Заранее спасибо.

Как свернуть форму в трей?
Как свернуть форму в трей?

Как свернуть в трей?
У меня приложеньице всегда отображается в трее. А как сделать, чтобы при его закрытии оно бы тоже уходило втрей - и только оттуда его можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru