![]() |
Ребятки, кто по .NET поможет? Суть проблемы такова: при запуске в свойстве формы есть ShowInTaskbar - false и есть WindowState - minimized. Висит себе иконка в трее и popup-меню из неё вываливается, всё работает. Теперь требуется отобразить форму, сделать там действия и обратно её скрыть (именно скрыть). Так вот, разворачиваю я её mainform.WindowState = normal, по логике свернуть обратно - присвоить опять minimized, но она именно свернётся а не скроется. А скрыть - showintaskbar, но [filolog]ёпта[/filolog], она же итак скрыта! после переопределения св-ва showintaskbar тупо умирает процесс. почему - не могу понять, дебаггер что-то ловит но знаний не хватает понять. I need help! |
В delphi для скрытия формы из таскбара я использовал API функцию: ShowWindow(Application.Handle, SW_HIDE); причем вызов делал из обработчика OnMinimaze для формы. Как в C# фиг его знает но я думаю что как то также ;) |
[url]http://yandex.ru/yandsearch?clid=14585&text=C%23+%D1%81%D0%B2%D0%B5%D1%80%D0%BD%D1%83%D1%82%D1%8C+%D0%B2+%D1%82%D1%80%D0%B5%D0%B9&lr=35[/url] В первой же ссылке есть код. |
to spaceman - я именно так и делаю, проблема в том, что если писать код на событие onFormLoad "this.ShowInTaskbar = false", после компиляции иконка появляется в трее и тут же исчезает, но если в визуальном конструкторе поставить св-во формы this.ShowInTaskbar = false всё работает до изменения этого св-ва (((( |
может это свойство нельзя переопределять когда приложение выполняется? |
namespace WindowsFormsApplication1 ** public partial class Form1 : Form ** public Form1() ** InitializeComponent(); ** private void Form1_Load(object sender, EventArgs e) ** this.ShowInTaskbar = false; ** private void notifyIcon1_DoubleClick(object sender, EventArgs e) ** if (this.Visible) ** this.Hide(); ** else ** this.Show(); ** ** ** ** ----- У меня все работает... ShowInTaskbar как я понял отвечает только за то, будет ли форма отображатся в таскбаре когда она видима (после this.Hide() независимо от ShowInTaskbar в таскбаре ничего нет). Возможно из-за этого и происходит исключение. |
Вычитал на забугорном форуме что есть какая-то особенность .net, и решением является создание contextmenu без создания формы. В общем решилось всё - проше некуда - изменил свойство opacity с 0 до 100% - неправильно, знаю, но в условии огр.кол-ва времени на разработку - самое то ) |
Текущее время: 23:24. Часовой пояс GMT +3. |