Как создать объект после его удаления? - PullRequest
0 голосов
/ 22 августа 2010

Я располагаю объект в своем коде и хочу создать его снова.

Как я могу это сделать?

Ответ:

private void showToolStripMenuItem_Click(object sender, EventArgs e)
    {
        xpPanelGroup1.CreateControl();
        xpPanelGroup1.Visible = true;
         ...


    }
    private void noShowToolStripMenuItem_Click(object sender, EventArgs e)
            {
                xpPanelGroup1.Visible = false;
                  ...
                xpPanelGroup1.Dispose();
            }

Ответы [ 3 ]

5 голосов
/ 22 августа 2010

Вам нужно создать новый объект после того, как вы вызвали Dispose().

Но если вы хотите повторно использовать объект позже, вам не следует утилизировать его, вы можете попытаться использовать Hide или .Visible = false или подобное, если вы временно хотите скрыть элемент управления.

Редактировать: В своем коде вы создаете новую xpPanelGroup1:

UIComponents.XPPanelGroup xpPanelGroup1 = new UIComponents.XPPanelGroup() ;

но это только локально для метода showToolStripMenuItem_Click. Если вы просто наберете

xpPanelGroup1 = new UIComponents.XPPanelGroup() ;

вы используете член класса, то есть ту же переменную, которую вы используете в методе noShow.
Но я все же рекомендую просто прятаться, а не выбрасывать.

0 голосов
/ 22 августа 2010

Возможно, вы могли бы просто установить объект в null вместо его утилизации и переназначить его на другое значение, если хотите снова использовать его.

0 голосов
/ 22 августа 2010

Вы должны взглянуть на свой код проекта (файл «.designer.cs» автоматически создается во время разработки) и попытаться вызвать его.Этот код запускается при создании экземпляра виджета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...