Перейти до публікації

Компьютерная Техника и программы


Рекомендовані повідомлення

Опубліковано:

У меня пока 27", но он мне кажется уже каким-то маленьким. Думаю если обновляться, то 32" будет самое то

расстояние до моника как раз примерно 80 см

  • Відповіді 5,2 к
  • Створено
  • Остання відповідь

Кращі автори в цій темі

  • Outlawif

    641

  • andreyyy

    437

  • Cardopusher

    361

  • Faust

    329

Кращі автори в цій темі

Опубліковано:

Бери 34 дюйма шаріко-шарікоформатний.

Опубліковано:

Я на днях гроизлся что-то про Таск Бар написать.

Но напишу про Систем ТРей

 

Речь о десятке

 

Вот скрин

 

Видите в систм трее дохерища одинаковых иконок в виде календарика ?

 

На самом деле приложение создало там один экземпляр NotifyIcon, т.е. контекстное меню в систем-трее.

 

Но почему-то часто (не всегда) винда (десятая только) начинает их наколбашивать очень много.

Потом, наведя мышкой на них, они один за одним исчезают, пока не остается один.

 

Что ж это за трудности такие с прорисовкой иконки, я не понимаю.

 

И если думаете, что дело в моей глючной программе, то нет. И на работе в моем нескрытом систем трее бывает часто 4-5 одинаковых иконок, по сути означающих один и тот же процесс. Если мышкой поводить, они исчезают. Систрей начинает перерисовываться.

 

А вот другой скрин.

 

Это моя утилитка, написанная на VFP.

Мордочка с улыбкой - это иконка моего процесса. Я вызвал меню правым кликом на иконке.

И меню, сука, на заднем плане!!!!

 

И нужно обладать оооочень большой сноровкой, чтобы перескочить на нужный пункт.

 

Переход из области развернутого систрея к моим пунктам меню требует реакции как у бойца стиля богомола.

 

 

Опубліковано:
а диагональ 32 не пробовал? как она для работы, удобна?

будет ли зрение адекватно охватывать всю область?

Faust,

Пару лет назад с 24 перешел на 43 дюйма 4к, все ок. Главное чтобы стол был глубокий - стойка у такого монитора массивная, да и отодвинуть можно подальше.

Опубліковано:

Куча иконок в трее, исчезающих при наведении, существовала еще с 7ки :) Может и раньше, но я помню с 7ки. И да, дело в 'глючной' программе))

 

Иконку с трея процесс должен явным образом убрать. Если поток оборвался, иконка останется. При наведении мышкой вынь пинганет евентом в поток и увидит, что тот убит, и почистит иконку.

 

При дебаге десктопных приложений, которые создают трей иконки, их по миллиону там бывает, из-за того, что ты стопаешь процесс принудительно.

 

В принципе любая программа может оставлять мусорные иконки, если ее завершать аварийно, убить процесс. И будет создавать 'клонов' при повторном запуске.

Опубліковано:

да это же только запуск.

Тупо только запуск и на запуске сходу рисует много.

 

Создавался 1 объект. Прорисовало много.

Вот этот скрин был сразу после запуска проги. Если наведу, лишние исчезают.

 

 

Опубліковано:
В принципе любая программа может оставлять мусорные иконки, если ее завершать аварийно, убить процесс. И будет создавать 'клонов' при повторном запуске
0utlaw,

не знал об этом, как-то не обращал внимания. Раньше, когда кастомизировал вин хр, то ли этого не было, то ли потому что всегда системный трей чистил и процессы по максимуму прибивал, то даже всякие супер пи которые гонял и которые могли завершиться аварийно - там не висели.

П.С. Что-то у Андрея с компом не чисто )

Опубліковано:

комп у меня слабенький. загружается процессор по полной.

ну я х.з.

Опубліковано:
да это же только запуск.
Даю 100%, что я нашел бы косяк при дебаге)

 

Я описал самый распространенный кейс появления клонов иконок, но разумеется могут быть еще варианты в самом коде.

которые могли завершиться аварийно
На самом деле даже аварийное завершение программа может зачастую обработать. Но не все об этом заботятся.

 

Опубліковано:
Даю 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();

}

 

 

 

 

}

 

это все игрушечное, как пример вот.

 

для запуска иконки в систрее этого достаточно

 

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунту. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...