Прозрачная метка в области меню с VB.NET - PullRequest
0 голосов
/ 23 августа 2010

Я прочитал много статей о том, как создавать прозрачные ярлыки, но мне кажется, что мой конкретный случай не рассматривается.Очень просто у меня есть метка, размещенная в верхней правой части формы, которая на самом деле является частью полосы меню.На этикетке отображается некоторая информация для пользователя, но хотелось бы, чтобы она была прозрачной.Я пробовал различные методы, включая

lblAct.Parent = mnuMain '(or Me)
lblAct.BackColor = Color.Transparent
lblAct.BringToFront()

, но не могу заставить его работать.У кого-нибудь есть предложения о том, как сделать эту этикетку прозрачной в этом положении?

1 Ответ

0 голосов
/ 23 августа 2010

Да, вы не можете сделать эту работу.Это ограничение Windows, эффекты прозрачности относятся к окну верхнего уровня, эффекты суммирования не работают.Вы увидите форму в качестве фона, а не полосу меню.Технически возможно взломать метку, которая запрашивает отображение меню для создания фона.Но Windows не сгенерирует сообщение рисования, когда полоса перерисовывается.Который будет отчетливо виден, например, когда пользователь изменит размер формы.

...