我用this.Invalidate();清楚,但都清楚。我只需要清楚我早些时候画过。
private void AfyTextBox_Paint(object sender, PaintEventArgs e)
{
if (afytransparentTextBox.BackColor.A != 255 || afytransparentTextBox.BackColor.B != 255 || afytransparentTextBox.BackColor.G != 255 || afytransparentTextBox.BackColor.R != 255)
{
path = RoundedRectangle.Create(1, 1, this.Width - 7, this.Height - 7, 2); // Draw around
e.Graphics.DrawPath(new Pen(afytransparentTextBox.BackColor), path);
}
else
{
//Here I need to clean that I drew earlier.( Draw around)
}
}
答案 0 :(得分:0)
您可以试试这个method:
<强> Graphics.Clear();
强>
答案 1 :(得分:0)
你不能从表面“脱毛”。您必须清除并重新绘制要显示的内容。通常使用Invalidate
方法告诉组件重绘自己。你可以有一个布尔标志来控制你的临时覆盖框是否被绘制。