Reasons for why a WinForms label does not want to be transparent?

后端 未结 11 1834
抹茶落季
抹茶落季 2020-11-28 10:42

Why can\'t I set the BackColor of a Label to Transparent? I have done it before, but now it just don\'t want to...

I created a new UserControl, added a progressbar a

11条回答
  •  夕颜
    夕颜 (楼主)
    2020-11-28 11:18

    Use a LinkLabel not a normal Label

        private void MakeTransparentLabel(System.Windows.Forms.LinkLabel LinkLabel)
        {
            this.MakeTransparentLabel(LinkLabel, Color.White);
        }
        private void MakeTransparentLabel(System.Windows.Forms.LinkLabel LinkLabel, Color ForeColor)
        {
            LinkLabel.ForeColor = ForeColor;
            LinkLabel.LinkColor = ForeColor;
            LinkLabel.VisitedLinkColor = ForeColor;
            LinkLabel.ActiveLinkColor = ForeColor;
            LinkLabel.DisabledLinkColor = ForeColor;
            LinkLabel.LinkArea = new LinkArea(0, 0);
            LinkLabel.LinkBehavior = LinkBehavior.NeverUnderline;
            LinkLabel.Cursor = Cursors.Arrow;
            LinkLabel.BackColor = Color.Transparent;
        }
        private void SetTransparentLabelText(System.Windows.Forms.LinkLabel LinkLabel, string Text)
        {
            if (string.IsNullOrEmpty(Text)) { LinkLabel.Text = " "; return; }
            LinkLabel.Text = Text;
        }
    

提交回复
热议问题