我想将面板重置为初始状态。例如,我将图像设置为背景,我在面板的一部分上绘制图形。我必须清除一切。怎么样?
答案 0 :(得分:16)
您必须先清除面板
panel1.Controls.Clear();
然后调用初始表单。
panel1.Controls.Add(orig_form);
答案 1 :(得分:4)
使用以下代码删除面板中的所有图形
panel1.Invalidate();
如果您需要添加到面板的初始状态,那么在您调用invalidate后,您必须再次设置这些内容。
如果面板的初始状态需要一些图形或数据,您可以将其放在面板的图形事件中,因此每次调用invalidate时,面板都会获得这些项目的初始状态。
答案 2 :(得分:2)
使用panel1.refresh();
命令。它将面板重置为初始状态。
答案 3 :(得分:1)
这是唯一对我有用的解决方案:
private void button3_Click(object sender, EventArgs e)//Clear button
{
using (g = Graphics.FromImage(bmp))
{
g.Clear(Color.Transparent);//you can choose another color for your background here.
panel1.Invalidate();
}
}
答案 4 :(得分:0)
这是一个SO链接,可以完全按照您的要求进行操作:
Resetting a winform's elements to initialized state (C#/.Net)
答案 5 :(得分:0)
这对我有用:
private void button1_Click(object sender, EventArgs e)//clear Data
{
panel1.Controls.Clear();
this.Refresh();
}