| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Как спрятать форму? |
| Автор: gogzor 10.1.2009, 16:53 |
| Всем привет. Вот решил попробовать работать с треем в винде. Раньше никогда не пробовал. Там оказалось всё просто. Но и произошла одна заминка. При запуске формы , я включаю трей (иконку) и пытаюсь спрятать форму (при помощи this.hide() ) , но она не прячится... Почему? Мне нужно чтоб доступ был только из трея. Я сделал форму ShowInTaskBar = false и WindowState = Minimized , но всё равно её видно на раб. столе. Вопрос : как захайдить форму и оставить только трей? Спасибо. |
| Автор: Partizan 10.1.2009, 17:52 |
| gogzor, а надо не this.Hide вызывать, а устанавливать WindowState в Minimized |
| Автор: gogzor 10.1.2009, 19:04 |
| Зафиксил. Поставил значение FormBorderStyle = FixedSingle и всё гуд работает. |
| Автор: VisualProgrammerNET 11.1.2009, 16:45 |
| Как может БордерСтайл влиять на скрытие формы? =) Не, я понимаю, что "ура, всё работает, да и гори оно огнём", но никаких сомнений не закралось вообще? =)) Для свёртывания программы в трей существует компонент NotifyIcon. |
| Автор: GX777 13.1.2009, 03:39 | ||
Если я правильно понимаю, то если ты пишешь WindowState = Minimized, то ты сворачиваешь форму именно в TaskBar, поэтому я не вижу в этом большого смысла. А вообще я делал подобную задачу у себя так: В конструкторе WindowState = Normal; ShowINTaskbar = true; потом создавал обработчик на Form1_Load и в нем писал this.Visible = false; this.ShowInTaskbar = false; Так у меня работало. А насчет FormBorderStyle полностью согласен с VisualProgrammerNET. Добавлено через 1 минуту и 50 секунд да, почему то когда я сразу в конструкторе писал this.ShowInTaskbar = false, то не работало. Добавлено через 2 минуты и 52 секунды блин, т.е. просто выставлял в конструкторе свойство в конструкторе ShowInTaskbar в false) |
| Автор: gogzor 13.1.2009, 19:36 | ||
Вообще FormBorderStyle влияет на то , отобразиться ли прога в меню ALT+TAB. Вообще самый просто вариант (тем кто не знает как ) : Делаем NotifyIcon , ставим ему Visible = true. А форму делаем this.Hide(); И всё ОК. |
| Автор: GX777 13.1.2009, 22:53 | ||||
я так и делал, просто вместо this.hide() я написал this.visible=false у меня во время запуска проги при this.hide() видно было как прога запускается и исчезает(не знаю почему). Добавлено через 3 минуты и 14 секунд
серьезно?а я думал что FormBorderStyle устанавливает, можно изменять размеры окна или нет.Это же форум по C#?... |
| Автор: GX777 13.1.2009, 23:10 |
| gogzor, FormBorderStyle — перечисление, определяющее не только вид и функциональ- ность рамки формы, но и другие аспекты работы с формой. Возможные значе- ния таковы:...(Ч. Петзольд "Программирование для Microsoft Windows на C#, 1й том стр.60) |