Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 面板清理一切_C#_Controls_Panel - Fatal编程技术网

C# 面板清理一切

C# 面板清理一切,c#,controls,panel,C#,Controls,Panel,我想将面板重置为其初始状态。例如,我将图像设置为背景,在面板的一部分上绘制图形。我必须把一切都清理干净。怎么做?这里有一个SO链接,看起来完全符合您的要求: 使用以下代码从面板中删除所有图形 panel1.Invalidate(); 如果您需要将某些内容添加到面板的初始状态,那么在调用invalidate之后,您必须再次设置这些内容 如果面板的初始状态需要一些图形或数据,您可以将其放入面板的图形事件中,因此每次调用“无效”时,您的面板都会获取这些项目的初始状态。您必须首先清除面板 panel1

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

这里有一个SO链接,看起来完全符合您的要求:


使用以下代码从面板中删除所有图形

panel1.Invalidate();
如果您需要将某些内容添加到面板的初始状态,那么在调用invalidate之后,您必须再次设置这些内容


如果面板的初始状态需要一些图形或数据,您可以将其放入面板的图形事件中,因此每次调用“无效”时,您的面板都会获取这些项目的初始状态。

您必须首先清除面板

panel1.Controls.Clear();
然后调用初始表单

panel1.Controls.Add(orig_form);

使用
面板1.refresh()命令。它将面板重置为初始状态。

这是唯一对我有效的解决方案:

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

您是否可以放弃旧窗格,创建assign
new Panle()引用?我假设您在编译时使用设计器,并且希望在运行时“清除”面板?您还需要清除哪些更改,请提供更多详细信息。@Vincent B:我只需要清除面板。我写了一个属性“ClearPanel”,在它里面我尝试了\n 1。将背景设置为空\n 2。panel.Controls.Clear();但是什么都不管用。劳夫K:属性还是方法?您是否考虑过调用suspendLayout()和resumeLayout(true)进行修改,是否确实调用了您的方法?即使panel.controls.clear()不起作用,也意味着这很奇怪