小组清除一切

时间:2011-05-11 03:58:29

标签: c# controls panel

我想将面板重置为初始状态。例如,我将图像设置为背景,我在面板的一部分上绘制图形。我必须清除一切。怎么样?

6 个答案:

答案 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();
}