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(); } } это все игрушечное, как пример вот. для запуска иконки в систрее этого достаточно
Рекомендовані повідомлення
Створіть акаунт або увійдіть у нього для коментування
Ви маєте бути користувачем, щоб залишити коментар
Створити акаунт
Зареєструйтеся для отримання акаунту. Це просто!
Зареєструвати акаунтУвійти
Вже зареєстровані? Увійдіть тут.
Увійти зараз