2015-01-10 2 views
1

У меня есть основная форма, которая имеет несколько кнопок, каждая кнопка открывает новую форму. Когда я нажимаю кнопку1, открывается форма1, и когда я нажимаю кнопку2, form2 открывается, но form1 возвращается к основной форме. Мне нужна функциональность, так что каждая новая форма открывается над родительской формой и самой последней формой сверху.Открытие новой формы над другой формой

Это мой код

private void button1_Click(object sender, EventArgs e) 
    { 
     Form1 form = new Form1(); 
     form.Show(); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     Form2 form = new Form2(); 
     form.Show(); 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     Form3 form = new Form3(); 
     form.Show(); 
    } 
+0

Вы пробовали Фокус()? http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus%28v=vs.110%29.aspx – Hozikimaru

ответ

2

Каждая форма имеет верхнее свойство, просто установить их истинный

private void button1_Click(object sender, EventArgs e) 
    { 
     Form1 form = new Form1(); 
     form.Show(); 
     form.TopMost = true; 
     form.Activate(); 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     Form2 form = new Form2(); 
     form.Show(); 
     form.TopMost = true; 
     form.Activate(); 
    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     Form3 form = new Form3(); 
     form.Show(); 
     form.TopMost = true; 
     form.Activate(); 
    } 
+0

он разрешил 70% моей проблемы, теперь проблема в том, что это в верхней части других приложений тоже. Мне нужны формы, которые должны быть сверху только для их родителей, а не для других приложений. Thnx – Junaid

+0

remove 'activate();' – prospector

+0

Я удалил их, но формы все еще идут выше моего браузера Chrome. Думаю, я сам это выясню. thnx для справки – Junaid

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