2017-01-31 4 views
-3

私のC#フォームプロジェクトでは、フォームを読み込むたびにこのメソッドを実行します。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) –

関連する問題