I'd try deleting the control via timer event:
public class ParentingControl
{
System.Windows.Forms.Label shortLivedLabel = new Label();
System.Windows.Forms.Timer labelKiller = new Timer();
override void OnLoad(object sender, EventArgs e)
{
shortLivedLabel.Location = new Point(Wherever you want it to be);
shortLivedLabel.Size = new Size(Whatever size);
shortLivedLabel.Text = "Whatever text there should be";
labelKiller.Interval = How long you want it to exist.
labelKiller.Tick += new EventHandler(labelKiller_Tick);
this.Controls.Add(shortLivedLabel);
labelKiller.Start();
}
private void labelKiller_Tick(object sender, EventArgs e)
{
labelKiller.Stop();
this.Controls.Remove(shortLivedLabel);
}
}
Or, if you prefer, you could
Show()
and
Hide()
the label when appropriate.