Faust Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 У меня пока 27", но он мне кажется уже каким-то маленьким. Думаю если обновляться, то 32" будет самое то расстояние до моника как раз примерно 80 см
andreyyy Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 Я на днях гроизлся что-то про Таск Бар написать. Но напишу про Систем ТРей Речь о десятке Вот скрин Показать Видите в систм трее дохерища одинаковых иконок в виде календарика ? На самом деле приложение создало там один экземпляр NotifyIcon, т.е. контекстное меню в систем-трее. Но почему-то часто (не всегда) винда (десятая только) начинает их наколбашивать очень много. Потом, наведя мышкой на них, они один за одним исчезают, пока не остается один. Что ж это за трудности такие с прорисовкой иконки, я не понимаю. И если думаете, что дело в моей глючной программе, то нет. И на работе в моем нескрытом систем трее бывает часто 4-5 одинаковых иконок, по сути означающих один и тот же процесс. Если мышкой поводить, они исчезают. Систрей начинает перерисовываться. А вот другой скрин. Показать Это моя утилитка, написанная на VFP. Мордочка с улыбкой - это иконка моего процесса. Я вызвал меню правым кликом на иконке. И меню, сука, на заднем плане!!!! И нужно обладать оооочень большой сноровкой, чтобы перескочить на нужный пункт. Переход из области развернутого систрея к моим пунктам меню требует реакции как у бойца стиля богомола.
Argh Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 а диагональ 32 не пробовал? как она для работы, удобна? будет ли зрение адекватно охватывать всю область? Faust, Пару лет назад с 24 перешел на 43 дюйма 4к, все ок. Главное чтобы стол был глубокий - стойка у такого монитора массивная, да и отодвинуть можно подальше.
Outlawif Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 Куча иконок в трее, исчезающих при наведении, существовала еще с 7ки :) Может и раньше, но я помню с 7ки. И да, дело в 'глючной' программе)) Иконку с трея процесс должен явным образом убрать. Если поток оборвался, иконка останется. При наведении мышкой вынь пинганет евентом в поток и увидит, что тот убит, и почистит иконку. При дебаге десктопных приложений, которые создают трей иконки, их по миллиону там бывает, из-за того, что ты стопаешь процесс принудительно. В принципе любая программа может оставлять мусорные иконки, если ее завершать аварийно, убить процесс. И будет создавать 'клонов' при повторном запуске.
andreyyy Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 да это же только запуск. Тупо только запуск и на запуске сходу рисует много. Создавался 1 объект. Прорисовало много. Вот этот скрин был сразу после запуска проги. Если наведу, лишние исчезают.
MaJ0r Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 В принципе любая программа может оставлять мусорные иконки, если ее завершать аварийно, убить процесс. И будет создавать 'клонов' при повторном запуске 0utlaw, не знал об этом, как-то не обращал внимания. Раньше, когда кастомизировал вин хр, то ли этого не было, то ли потому что всегда системный трей чистил и процессы по максимуму прибивал, то даже всякие супер пи которые гонял и которые могли завершиться аварийно - там не висели. П.С. Что-то у Андрея с компом не чисто )
andreyyy Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 комп у меня слабенький. загружается процессор по полной. ну я х.з.
Outlawif Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 да это же только запуск. Даю 100%, что я нашел бы косяк при дебаге) Я описал самый распространенный кейс появления клонов иконок, но разумеется могут быть еще варианты в самом коде. которые могли завершиться аварийно На самом деле даже аварийное завершение программа может зачастую обработать. Но не все об этом заботятся.
andreyyy Опубликовано 2 февраля, 2020 Опубликовано 2 февраля, 2020 Даю 100%, что я нашел бы косяк при дебаге) Показать static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [sTAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); string IcoForAppFile = ConfigurationManager.AppSettings["ImgPath"].ToString()+ "calendar1.ico"; NotifyIcon mainNotify = new NotifyIcon(); ContextMenu mainContextMenu = new ContextMenu(); MenuItem main_iOptions = new MenuItem("Настройки", main_iOptions_Click); MenuItem main_iBase = new MenuItem("База абонентов", main_iBase_Click); MenuItem main_iAbout = new MenuItem("О программе", main_iAbout_Click); MenuItem main_iExit = new MenuItem("Выход", main_iExit_Click); mainContextMenu.MenuItems.AddRange(new MenuItem[] { main_iOptions, main_iBase, main_iExit }); mainNotify.Icon = new Icon(IcoForAppFile); mainNotify.Text = "Напоминалка"; mainNotify.ContextMenu = mainContextMenu; mainNotify.Visible = true; mainNotify.BalloonTipTitle = "Меню менеджера дней рождений"; mainNotify.BalloonTipIcon = ToolTipIcon.Info; Application.Run(); mainNotify.Visible = false; // Application.Run(new contacts()); } private static void main_iAbout_Click(object sender, EventArgs e) { throw new NotImplementedException(); } private static void main_iExit_Click(object Sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("Закрыть программу ? ", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { Application.Exit(); } } private static void main_iBase_Click(object Sender, EventArgs e) { contacts oFrm = new contacts(); MenuItem j = (MenuItem)Sender; j.Enabled = false; oFrm.ShowDialog(); j.Enabled = true; oFrm.Dispose(); } private static void main_iOptions_Click(object Sender, EventArgs e) { //options oFrmO = new options(); //MenuItem j = (MenuItem)Sender; //j.Enabled = false; //oFrmO.ShowDialog(); //j.Enabled = true; //oFrmO.Dispose(); } } это все игрушечное, как пример вот. для запуска иконки в систрее этого достаточно
Рекомендуемые сообщения
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти