2016-06-29 56 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

打开多个childform后,如何从父表单访问childform中的公共方法? – Ibanez1408

+0

当您将'ActiveMdiChild'强制转换为'ChildForm'时,'UpdateDatabase'方法应该是可访问的,因为它是公共的。该方法不一定是静态的。那么这里真的有什么问题? – xxxmatko

回答

0

,您可以拨打service layer。这是您的UI和数据库代码之间的附加层。在下面你像可以找到四层命名为:

  • 表示层→包含UI组件
  • 服务层→包含逻辑
  • 业务层→包含您使用的类/模型。
  • 数据层→包含到数据库的连接。


源图像:msdn

你可以做的是过去的你的代码复制到该层,你可以利用这些代码这么多,你会的。

相关问题