2013-06-11 2 views
0

Возможно ли сделать not allow пользователю нажать на Form1, пока Form2 открыт?Как не разрешить пользователю касаться формы1 Пока открыт Form2

e.g .: Я отлаживаю свое приложение, и оно открывает мой MainForm Form1.
Существует кнопка, которая открывается Form2, но пользователь все еще может свести к минимуму Form и взаимодействовать с Form1. Как я могу это вырезать?

+0

Вы можете просто скрыть 'Form1', когда' Form2' открыт. – MyCodeSucks

+0

Но этот способ не поставит под угрозу производительность? – Ghaleon

+2

@Ghaleon Производительность не должна быть проблемой с любым решением. – Servy

ответ

5

Используйте ShowDialog(), а не Show(), чтобы показать вторую форму.

+0

Простите, что я знаю, что это не по теме. Но вы же Servy FROM msdn? : D – Ghaleon

+1

@Ghaleon Да, я – Servy

0

Конечно, используя ShowDialog, кажется лучшим. Вы можете использовать этот код для достижения того, чего хотите по-другому:

public class Form1 : Form { 
    public Form1(){ 
     InitializeComponent();   
     Button button = new Button() {Text = "Show Form2"}; 
     button.Click += (s,e) => { 
      f = new Form2(); 
      f.Show(); 
     }; 
     button.Parent = this;   
    } 
    private Form f; 
    private void Form1_Activated(object sender, EventArgs e){ 
     if(f!=null&&f.Visible) f.BringToFront(); 
    } 
} 
Смежные вопросы