2010-06-25 71 views
0

我使用C#2.0 & WinForm for my application。 我的表單有兩個名稱爲UserControl1的用戶控件:UserControl1 & UserControl2。如何創建2個對象之間的直接調用

的UserControl1有一個事件CriteriaChanged:

public event CriteriaChangedHandler CriteriaChanged; 
public delegate void CriteriaChangedHandler(object sender, CriteriaChangedArg e); 

UserControl2具有的功能:

public void Do(CriteriaChangedArg e){...} 

我必須用我的形式等作爲中間目標:

userControl1.CriteriaChanged += userControl1_CriteriaChanged; 

private void userControl1_CriteriaChanged(object sender, CriteriaChangedArg e) 
{ 
userControl2.Do(e); 
} 

如何創建直接調用沒有myForm,當userControl1引發事件CriteriaChanged時,userControl1將被調用與Do()函數。

謝謝。

回答

0

你目前的方法有什麼問題?看起來很標準。

如果更改簽名UserControl2

public void Do(object sender, CriteriaChangedArg e) 

你可以這樣做......

userControl1.CriteriaChanged += userControl2.Do; 
相關問題