2017-01-31 2 views
-3

В моем проекте C# forms я хочу, чтобы этот метод запускался каждый раз при загрузке любой из моих форм.C# как создать процедуру, которая запускается каждый раз при загрузке формы?

 foreach (Form frm in Application.OpenForms) 
     { 
      frm.WindowState = FormWindowState.Normal; 
      frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
      frm.Bounds = Screen.PrimaryScreen.Bounds; 
     } 
+0

Почему 'foreach' не может использоваться в классах и почему 'WindowState' не существует? Я смущен этим. –

+0

Есть ли mdiParent для ваших форм? –

+0

[это то, что я вижу] (http://i.imgur.com/elrkz0j.png) – Tom1

ответ

0

Мое предложение: Создать BaseClass

public class BaseClass: Form 

... и добавить метод к нему:

protected override void OnLoad(EventArgs e) 
{ 
    base.OnLoad(e); 
    foreach (Form frm in Application.OpenForms) 
    { 
     frm.WindowState = FormWindowState.Normal; 
     frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; 
     frm.Bounds = Screen.PrimaryScreen.Bounds; 
    } 
} 

Добавить точное базовый класс для каждого из ваших форм, как например :

public partial class Form1 : BaseClass 
+0

Пожалуйста, по крайней мере отформатируйте свой код –

+0

Да, я понимаю, как он загружается для каждой формы, но как я могу сделать это, только если предыдущее условие истинно. – Tom1

+0

О, я вижу сейчас. Но здесь, в этом методе, вы можете использовать if (WindowState == FormWindowState.Maximized) –

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