我有幾個子窗體,但他們有一個共同的方法,get_CurrentClamp()
。我想從MDI父級調用當前活動mdichild的方法。我如何從mdi父c調用子窗體的方法#
這是一個菜單項中的MdiParent形式onclick事件MDIMain.cs應該調用該方法。
....
private void mnugetCToolStripMenuItem_Click(object sender, EventArgs e)
{
if (MdiChildren.Any())
{
Form f = this.ActiveMdiChild;
f.get_CurrentClamp(varCurrentThreshhold);
}
}
.....
在子窗體frmDashboard.cs
public void get_CurrentClamp(float curThreshhold=5.5)
{
...
}
,但我不斷收到錯誤,任何地方我的問題呢?任何幫助將不勝感激!
該錯誤的越來越是這樣
錯誤3「System.Windows.Forms.Form中」不包含 「get_CurrentClamp」的定義和沒有擴展方法「get_CurrentClamp」 接受的第一個參數類型「System.Windows.Forms.Form中」可能 找到(是否缺少using指令或程序集引用?)
那是錯誤上午的MdiParent形式獲得。
什麼是錯誤? – 2014-12-04 06:40:14
你沒有找到get_CurrentClamp? – 2014-12-04 06:42:15
您正在轉換爲標準的Form類型,這當然沒有名爲get_CurrentClamp()的方法。您可以使用Reflection來獲取方法並調用它。更好的解決方案是讓所有的子表單都實現一個包含該方法的**接口**;那麼你可以投到界面並調用方法... – 2014-12-04 07:05:11