панель очистить все - PullRequest
       40

панель очистить все

9 голосов
/ 11 мая 2011

Я хотел бы сбросить панель в исходное состояние.Например, я установил изображение в качестве фона, я нарисовал графику на части панели.Я должен очистить все.Как?

Ответы [ 5 ]

16 голосов
/ 20 января 2013

Сначала необходимо очистить панель

panel1.Controls.Clear();

, а затем вызвать первоначальную форму.

panel1.Controls.Add(orig_form);
4 голосов
/ 14 июля 2012

Используйте следующий код, чтобы удалить всю графику с панели

panel1.Invalidate();

Если есть что-то, что вам нужно добавить в начальное состояние панели, то после того, как вы вызовете «Аннулировать», вы снова должны установить эти вещи.

Если исходное состояние панелей требует некоторой графики или данных, вы можете поместить это в графическое событие панели, поэтому каждый раз, когда вызывается аннулирование, ваша панель получает начальное состояние с этими элементами.

2 голосов
/ 03 февраля 2015

Используйте команду panel1.refresh();. Сбрасывает панель в исходное состояние.

1 голос
/ 02 декабря 2015

Это единственное решение, которое сработало для меня:

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();
        }
    }
0 голосов
/ 11 мая 2011

Вот ссылка SO, которая, похоже, делает именно то, что вам нужно:

Сброс элементов winform в исходное состояние (C # /. Net)

...