2015-10-09 2 views
1

Я только что запустил Visual Studio, и я попробовал открыть другую форму с помощью кнопки, и она работала хорошо, но код скрытия, чтобы скрыть первую форму, не работает. Вот мой код (Войти = form1, интерфейс = form2):Form hide не работает в Visual Studio

private void login_button_Click(object sender, EventArgs e) 
    { 
     Login login_f = new Login(); 
     Interface interface_f = new Interface(); 
     login_f.Hide(); 
     interface_f.Show(); 
    } 

ответ

1

Что происходит:

именно то, что было написано.

  1. Кнопка на существующую Login формы щелкнул
  2. Нового Login от создаются и хранятся в login_f переменные.
  3. Новый Interface из созданного и сохраненного в переменную interface_f.
  4. interface_f становится видимым, login_f вид становится невидимым. Самая первая форма, которая была нажата, остается неизменной.

Что делать: login_f переменная должна содержать ссылку на щелкнули форму. Эта ссылка может быть получена с помощью ключевого слова this.

private void login_button_Click(object sender, EventArgs e) 
    { 
     var login_f = this; 
     Interface interface_f = new Interface(); 
     login_f.Hide(); 
     interface_f.Show(); 
    } 
+0

Спасибо! это сработало. Я искал ключевое слово «я», так как я помню, что я использовал путь назад на VB 6.0, но не смог его найти. –

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