2015-03-18 4 views
0

У меня есть приложение C#, которое использует разные формы. Я знаю, как переключаться между формами, используя следующий пример:Как переключаться между формами без закрытия

{ 
    Form1 login; 
    login = new Form1(); 
    login.Show(); 
    this.Hide(); 
} 

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

Я пробовал просто скрывать форму, но я не знаю, как ее открыть снова, не используя вышеупомянутый код.

Пожалуйста, помогите!

+3

Просто покажите на экземпляре формы, который у вас уже есть без нового. –

+0

Самый простой способ - фактически закрыть окно, так что вам не нужно отслеживать эти неловкие скрытые окна. Вам просто нужно запретить вашему приложению закрыться, когда окно запуска закрывается. [Как это] (http://stackoverflow.com/a/10769349/17034). –

ответ

0

Отказ от ответственности: Я предполагаю, что у вас есть кнопка на другой форме, чтобы снова показать эту первую.

Возможно, вам не хватает ссылки на вашу первую форму в форме вашего веб-браузера, которую вы можете передать в конструкторе.

Form1 myForm 

public WebBrowserForm(Form1 myForm) 
{ 
    myForm = myForm; 
} 

Тогда ваша кнопка на эту форму можно просто показать Myform снова (myForm.Show() и скрыть при необходимости)

На вашей первой форме, вам нужно будет переместить переменную login в классе, так что вы можете ссылаться на этот снова

Form1 login = new Form1(); 

{ 
    login.Show(); 
    this.Hide(); 
} 
0

Предполагая, что WebBrowserForm как имя вашей формы, содержащей WebBrowser

if (Application.OpenForms["WebBrowserForm"] != null) 
     (Application.OpenForms["WebBrowserForm"] as Form).Show(); 

Этот код проверяет, что ранее была запущена форма WebBrowser, и показывает ее, если она не является нулевой.

Смежные вопросы