web-dev-qa-db-ja.com

パネルはすべてをクリアします

パネルを初期状態にリセットしたいのですが。たとえば、画像を背景として設定したり、パネルの一部にグラフィックを描いたりしました。私はすべてをクリアする必要があります。どうやって?

9
y_zyx

最初にパネルをクリアする必要があります

panel1.Controls.Clear();

次に、初期フォームを呼び出します。

panel1.Controls.Add(orig_form);

次のコードを使用して、パネルからすべてのグラフィックを削除します

panel1.Invalidate();

パネルの初期状態に追加する必要があるものがある場合は、invalidateを呼び出した後、それらを再度設定する必要があります。

パネルの初期状態にグラフィックまたはデータが必要な場合は、それをパネルのグラフィックイベントに入れることができるため、invalidateが呼び出されるたびに、パネルはそれらのアイテムの初期状態を取得します。

4
AndroidLearner

panel1.refresh();コマンドを使用します。パネルを初期状態にリセットします。

3
Jakob

それが私のために働いた唯一の解決策です:

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

これがSOリンクで、あなたが望むことを正確に実行するように見えます:

winformの要素を初期化された状態にリセットする(C#/。Net)

0
IAmTimCorey