| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Как свернуть приложение в трей сразу при загрузке |
| Автор: yur4egg 6.11.2010, 19:09 |
| Доброго времени. Создал чистую форму с нуля, поместил на нее компонент notifyIcon и кнопку, при нажатии на которою работает код: notifyIcon1.Visible = true; Hide(); Все замечательно, иконка появляется в трее. А вот сделать так, чтобы свертка в трей просиходила автоматически при загрузке формы, не получается. Куда я только вышеозначенный код не пихал, сюда public Form1() { InitializeComponent(); notifyIcon1.Visible = true; Hide(); } и сюда: private void Form1_Load(object sender, EventArgs e) { notifyIcon1.Visible = true; Hide(); } и внутрь InitializeComponent(); результат везде одинаков: форма видна на экране, ошибок нет, по кнопке только и сворачивается. Помогите разобраться, пожалуйста. |
| Автор: Fortnox 6.11.2010, 19:31 | ||
| После события Load, вызывается событие Shown, которое показывает форму, даже если до этого был вызван метод Hide. Поэтому скрытие формы нужно добавить в Shown:
|
| Автор: KelTron 6.11.2010, 19:47 | ||
|
| Автор: yur4egg 7.11.2010, 06:12 | ||
Оба примера выше не работают, форма по-прежнему видна на экране.
|
| Автор: KelTron 7.11.2010, 09:46 |
Примеры рабочие, ищи свои ошибки.. |
| Автор: Hohhi 7.11.2010, 10:48 |
| KelTron, две копейки позвольте вставить: Alt+tab-ом форма тоже не видна? |
| Автор: KelTron 7.11.2010, 11:30 | ||
В моём примере видна, чтобы была не видна можно изменить код так:
|
| Автор: yur4egg 7.11.2010, 14:46 | ||
Уважаемый KelTron, расписываю все по шагам: 1. Создаю в Visual Studio новый проект Windows-приложения С# 2. В окно Form1.cs копирую ваш код 3. Нажимаю F5 4. Любуюсь окном "Form1" Что я делаю не так? Если вы утверждаете, что пример рабочий, добро пожаловать через TeamViewer на мой комп, убедитесь что это не так. |
| Автор: Fortnox 7.11.2010, 15:12 | ||
| yur4egg, привяжите события то. В окне свойств формы и notifyicon. Либо в коде. Например, в конструкторе формы 1:
|
| Автор: KelTron 7.11.2010, 15:15 |
| Должна быть такая последовательность: 1. Создаю в Visual Studio новый проект Windows-приложения С# 2. В окно Form1.cs копирую ваш код 3. Присоединяю обработчики событий к соответствующим контролам 4. Нажимаю F5 5. Не вижу окна "Form1" Методы Form1_Load, button1_Click, notifyIcon1_Click это обработчики событий, если их не привязать к событиям контролов они конечно не будут работать.. Добавлено через 2 минуты и 27 секунд Fortnox, скрывать форму в собитии Shown очень весело, при любой попытке отобразить форму она будет сразу же скрываться..) |
| Автор: Fortnox 7.11.2010, 15:21 |
| KelTron, и правда.) Досадно, надо было учесть это. |
| Автор: yur4egg 7.11.2010, 17:57 |
| Спасибо всем, теперь все ясно, дело в привязке. Век живи, век учись. |