Как динамически создавать и уничтожать новую форму без основной формы в C#? - PullRequest
0 голосов
/ 11 июля 2020

У меня есть поток задач в моем C# коде, который динамически создает и уничтожает новую форму. В моем старом решении мне нужно создать основную форму с невидимым окном. Единственное использование этой основной формы - быть инициатором:

            FormMain.Instance.Invoke((MethodInvoker)delegate
            {
                if (axContainer == null) {
                    axContainer = new AxContainer();
                    _axContainerList.Add(axContainer);                                
                }

                try
                {
                    axContainer.Connect(data, rdpFile);
                    axContainer.ThreadId = 0;
                }
                catch(Exception e)
                {
                    axContainer.Dispose();
                    axContainer.DisposeAt = DateTime.Now;
                    _axContainerList.Remove(axContainer);
                    axContainer = null;
                }
            });

AxContainer является подклассом формы и используется как контейнер управления клиентом RDP. Мой вопрос: когда приложение вызывает исключение, появляется уродливая основная форма, это неудобно! Нужна ли мне такая основная форма для инвокера?

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