Как сохранить текущие элементы управления и тексты UserConrol, чтобы снова загрузить все на панель После удаления оригинального U C? - PullRequest
0 голосов
/ 23 февраля 2020

По сути, у меня есть userControl, называемый ctables, который инициализируется следующим образом:

    UserControl _ct_save_current_state = new ctables();
    UserControl uc_controller = null;

    private void Menu_Clicks_Handler(object sender, EventArgs e)
    {


        Control clicked = sender as Control;
        string MainMenuItemName = "pMenu" + clicked.Tag.ToString();
        if (sets.clickedMenuItemTag != clicked.Tag.ToString())
        {
            string OldMenuItemName = "pMenu" + sets.clickedMenuItemTag;
            menu_Container.Controls[OldMenuItemName].BringToFront();
            menu_Container.Controls[MainMenuItemName].SendToBack();

            uc_controller.Dispose();
            uc_controller = null;



            switch (MainMenuItemName)
            {
                case "pMenu1": // if the user clicked processes menuItem
                    uc_controller = new processes(); // init uc_controller with processes userControl
                    break;                           // initializing it with a new since im disposing it after . 

                case "pMenu2":                              // now my problem is here .. i dont want this userControl to be disposed .
                    uc_controller = _ct_save_current_state; // more like save it with it's controls and texts 
                    break;                                  //to affect it to uc_controller  when the ctables menu is clicked .

                case "pMenu3":
                    uc_controller = new bots();
                    break;

                default:
                    break;
            }

            op_container.Controls.Add(uc_controller); // adding the new uc_controller to my panel
            uc_controller.Dock = DockStyle.Fill; // fill the panel
            sets.clickedMenuItemTag = clicked.Tag.ToString(); // dont mind this .
        }


    }

Как я уже сказал в комментариях, моя проблема в том, что я не знаю точно, как я могу сохранить ctables UserControl _ct_save_current_state с его текущими элементами управления .. объектами и т. Д. c .. И поэтому, когда uc_controller расположен, я могу загрузить его из _ct_save_current_state ..

Однако я Я чувствую, что моя проблема из-за ссылки ... не уверен, но, может быть, когда я это сделал uc_controller = _ct_save_current_state; это означает, что если я избавлюсь от uc_controller .. _ct_save_current_state также будет удалена, может быть?

нужна помощь, спасибо

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