パネルを初期状態にリセットしたいのですが。たとえば、画像を背景として設定したり、パネルの一部にグラフィックを描いたりしました。私はすべてをクリアする必要があります。どうやって?
最初にパネルをクリアする必要があります
panel1.Controls.Clear();
次に、初期フォームを呼び出します。
panel1.Controls.Add(orig_form);
次のコードを使用して、パネルからすべてのグラフィックを削除します
panel1.Invalidate();
パネルの初期状態に追加する必要があるものがある場合は、invalidateを呼び出した後、それらを再度設定する必要があります。
パネルの初期状態にグラフィックまたはデータが必要な場合は、それをパネルのグラフィックイベントに入れることができるため、invalidateが呼び出されるたびに、パネルはそれらのアイテムの初期状態を取得します。
panel1.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();
}
}
これがSOリンクで、あなたが望むことを正確に実行するように見えます: