MrSPV
@MrSPV
Ведущий специалист по наладке систем АСДУЭ

NotifyIcon text более 64 символов C#. Как сделать?

notifyIcon.Text = "бла бла бла...";
Ругается что больше 64 символов.
Как сделать что бы показывал больше и не ругался?
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 2
@kestik
Это баг, который можно обойти следующим образом (при использовании этого способа, ограничение будет равно 127 символам):
NotifyIcon icon = new NotifyIcon();
string text = "bla-bla-bla";

// Оберните код ниже в метод для удобства.
Type t = typeof(NotifyIcon);
BindingFlags hidden = BindingFlags.NonPublic | BindingFlags.Instance;
t.GetField("text", hidden).SetValue(icon, text);
if ((bool)t.GetField("added", hidden).GetValue(icon))
{
  t.GetMethod("UpdateIcon", hidden).Invoke(icon, new object[] { true });
}
Ответ написан
Комментировать
Rou1997
@Rou1997
А на уровне WinAPI такое ограничение есть? Если да, то плохо, а если нет, то либо действуйте через рефлексию чтобы обойти баг в .NET, у него еще и исходный код открыт теперь, а если чего-то там нет, то легко декомпилируется, либо с WinAPI напрямую.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы