title: Transparent label control is not refreshing properly
body: <p>I've created a transparent label control and the transparency works great. However, I find when I update the control's Text field, the original Text doesn't clear before it paints the new text. So if I change the control's Text field several times, it soon becomes unreadable.</p>
  
  <p>Any clues? Thanks!</p>
  
  <pre><code>public partial class TransLabel : Label
  {
      public TransLabel()
      {
          InitializeComponent();
  
          this.SetStyle(ControlStyles.Opaque, true);
          this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);
          this.Font = new Font("Franklin Gothic Book", 12f, FontStyle.Regular);
          this.ForeColor = Color.White;
          this.BackColor = Color.Transparent;
      }
  
      public override string Text
      {
          get
          {
              return base.Text;
          }
          set
          {
              base.Text = value;
              this.Invalidate(); // seems to have no effect
              this.Refresh(); // seems to have no effect
          }
      }
  
      protected override void OnPaintBackground(PaintEventArgs pevent)
      {
          //do nothing
      }
  
      protected override void OnMove(EventArgs e)
      {
          RecreateHandle();
      }
  
      protected override CreateParams CreateParams
      {
          get
          {
              CreateParams cp = base.CreateParams;
              cp.ExStyle = 0x00000020; //WS_EX_TRANSPARENT
              return cp;
          }
      }
  }
  </code></pre>