146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
1

Свернуть приложение в трей

11.11.2009, 16:46. Показов 10205. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я создал приложение и мне нужно, чтобы при нажатии на кнопку свернуть приложение появлялось в области уведомлений (область рядом с часами). Я нашёл в MSDN пример, но у меня не работает.
Вот пример программы. Она по таймеру показывает на экране время.
Посмотрите, если не сложно, что там не так. Возможно, нужно устанавливать какие-то свойства формы.
[ATTACH]Clock.rar[/ATTACH]
Вложения
Тип файла: rar Clock.rar (36.0 Кб, 143 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2009, 16:46
Ответы с готовыми решениями:

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

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

Свернуть программу в трей
Всем доброго времени суток.Мое приложение по клику на Minimize box должно свернуться в...

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

9
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
11.11.2009, 18:04 2
замени бэк колор, а то пишешь черным по черному ))
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
11.11.2009, 18:25  [ТС] 3
У меня всё нормально отображается.
0
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
11.11.2009, 18:32 4
Вот что у меня.
А раз все нормально отображается, то в чем проблема?
Миниатюры
Свернуть приложение в трей   Свернуть приложение в трей  
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
11.11.2009, 18:43  [ТС] 5
У меня не в этом вопрос. У меня вопрос в том, что мне нужно, чтобы при нажатии на кнопку свернуть приложение появлялось в области уведомлений, а textBox и как он отображается здесь вообще не причём.
0
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
11.11.2009, 18:58 6
Свернул. Как был значок возле часов так и остался.
Что не так?
А скрывать показывать ИКОНКУ ВОЗЛЕ ЧАСОВ можно меняя свойство notifyIcon1.Visible
Миниатюры
Свернуть приложение в трей  
0
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
11.11.2009, 19:08 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Clock
{
    public partial class Form1 : Form
    {
        FormWindowState formerState;
        public Form1()
        {
            InitializeComponent();
            this.Resize += new EventHandler(Form1_Resize);
            notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
            //notifyIcon1.ContextMenu = this.ContextMenu;
            notifyIcon1.Text = "NotifyIcon";
            notifyIcon1.Icon = new Icon("icon.ico");
            notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);
        }
 
        void Form1_Resize(object sender, EventArgs e)
        {
            if (this.WindowState != FormWindowState.Minimized)
            {
                formerState = this.WindowState;
            }
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.ShowInTaskbar = false;
                notifyIcon1.Visible = true;
            }
            else
            {
                this.ShowInTaskbar = true;
                notifyIcon1.Visible = false;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (timer.Enabled == true)
            {
                button.Text = "Start";
                timer.Enabled = false;
            }
            else
            {
                button.Text = "Stop";
                timer.Enabled = true;
            }
        }
 
        private void timer_Tick(object sender, EventArgs e)
        {
            textBoxClock.Text = DateTime.Now.Hour + " : " +
                DateTime.Now.Minute + " : " +
                DateTime.Now.Second;
        }
 
        private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
                this.WindowState = formerState;
            this.Activate();
 
        }
    }
}
2
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
14.11.2009, 18:38  [ТС] 8
Так работает. Но есть одна неточность - когда приложение закрывается, значак остаётся в облати уведомлений и исчезает только при наведении мыши на него.
Можно ли как-нибудь убирать его при закрытии программы?
0
73 / 70 / 12
Регистрация: 01.11.2009
Сообщений: 246
14.11.2009, 21:44 9
Лучший ответ Сообщение было отмечено как решение

Решение

C#
1
2
3
4
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            notifyIcon1.Visible = false;
        }
?
3
sleepy
78 / 53 / 6
Регистрация: 29.07.2009
Сообщений: 179
14.11.2009, 22:17 10
qwert, да, забыл совсем дописать кусок кода для этого. Выше человек уже ответил =)
0
14.11.2009, 22:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2009, 22:17
Помогаю со студенческими работами здесь

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

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

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

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

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

Свернуть программу в трей
Доброго времени суток :) Название говорит само за себя, как научить программу, при нажатии на...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru