2016-06-29 7 views
0

複数の子フォームが開いている場合、親フォームから子フォームのパブリックメソッドにアクセスするにはどうすればよいですか。例:親フォームからアクティブな子フォームのパブリックメソッドにアクセス

ChildForm

public int x 
{ 
    get; 
    set; 
} 
public void UpdateDatabase() 
{ 
    // Update database code using x 
} 

でParentForm

ChildForm f = new ChildForm(); 
f.x = 1; 
f.Show(); 

private void button1_click() 
{ 
    var xx = this.ActiveMdiChild as ChildForm; 
    xx.UpdateDatabase(); 
} 

では、私は

public static void UpdateDatabase(); 
+2

問題は何ですか? –

+0

複数の子フォームが開いている場合、親フォームから子フォームのパブリックメソッドにアクセスするにはどうすればよいですか? – Ibanez1408

+0

'ActiveMdiChild'を' ChildForm'にキャストするとき、 'UpdateDatabase'メソッドはpublicであるため、アクセス可能でなければなりません。メソッドは静的である必要はありません。それでは本当に何が問題なのですか? – xxxmatko

答えて

0

あなたはservice layerを作ることができます使用することはできません。これは、UIとデータベースコードの間の追加レイヤーです。名前付き4層見つけることができます下の画像を:

  • プレゼンテーション層→をUIコンポーネント
  • サービス層→は論理
  • ビジネス層→が含まれている含まれていますが、使用するクラス/モデルが含まれています。
  • データ層→には、データベースへの接続が含まれています。


元画像:msdn

あなたは何ができるかは、その層にあなたのコードを過ぎてコピーし、あなたがそんなにあなたは意志そのコードを再利用することができます。

関連する問題