ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: inbruk
27. октября 2010 22:20

Чтобы добавить своему WinForms приложению возможность сворачиваться в системный трей нужно использовать контрол NotifyIcon. Этот контрол находится в стандартной библиотеке контролов (на Toolbox-е, в наборе CommonControls). После добавления контрола на форму, он появится не на ней, а на панели ниже. Важно задать (например, на вкладке Properties) какую-нибудь валидную маленькую иконку свойству Icon контрола NotifyIcon. Если этого не сделать то, после сворачивания приложения иконка видна не будет и контроль со стороны пользователя будет утерян. Для непосредственно сворачивания в программе нужно скрыть форму и показать иконку в трее. Когда же придет время развернуть приложение нужно соответственно показать форму и скрыть иконку. Следующий пример показывает как это можно сделать. Сворачивание происходит при нажатии на кнопку на форме. Разворачивание при клике по иконке в трее.

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 TrayIconApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.ShowInTaskbar = false; /* для скрытия задачи на панели задач */
}

private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Visible = true; /* покажем форму */
notifyIcon1.Visible = false; /* скроем икону в трее */
}

private void button1_Click(object sender, EventArgs e)
{
this.Visible = false; /* скроем форму */
notifyIcon1.Visible = true; /* покажем икону в трее */
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

И последний штрих – если хочется чтобы в развернутом состоянии приложение не показывалось на панели задач (так, например, можно настроить WinAmp), то нужно в конструкторе основной формы указать

this.ShowInTaskbar = false;


Новая версия флеш плеера - Программа Adobe flash плеер 10.3.181.26 является необходимым компонентом браузера. Он используется при просмотре видеороликов в формате SWF

Профессионально проведем процедуру таможенного декларирования товаров, окажем всестороннюю помощь по всем вопросам. Сайт www.dialog-broker.ru расскажет о наших предложениях.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Как передать функцию как параметр в другую функцию на JavaScript ?
Часто бывают ситуации, когда хочется (было бы удобно) передать функцию как параметр в другую функцию, и там использовать. И все это заметьте на JavaScript-е. Рассмотрим пример того, как это можно сделать. [code:c#] <script type="text/javascript"> function fOne(p1, p2) { p1(p2); } /* function literal */ var fTwo = function (m1) { alert(m1 ...

Как записывать свои сообщения в лог событий Windows (системный лог) под .Net ?
Допустим вы пишете приложение сервер или службу Windows (демона). Часто такие приложения с одной стороны не имеют пользовательского интерфейса (в обычном понимании), а с другой должны выполнять какую-то важную работу (обслуживание клиентов). Для того чтобы корректно функционировать серверу/демону/службе нужно иметь возможность сообщить системному администратору о важн...

Комментарии

 
nobelwerfer 29.07.2011 18:01:45 #

ну winforms не так актуально, а вот WPF было бы интереснее ...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий