2010-07-07 32 views
0

我真的不知道該怎麼稱呼這個問題。以相同的形式從單獨的usercontrols調用方法

假設我有一個Windows窗體應用程序。 GUI足夠複雜,需要兩個自定義用戶控件「LeftSide」和「Rightside」,每個控件都由各種按鈕,標籤以及甚至另一個自定義用戶控件組成。

我的問題:

我在「Rightside」控件的範圍內。我如何從「Leftside」控件調用一個方法?

我使用Visual Studio 2008

回答

1

最簡單的辦法就是讓在RightSide控制LeftSide類型的屬性,然後將其設置爲在表單設計的LeftSide實例。

然後,您可以調用該屬性的公共方法。

但是,這是糟糕的設計。
每個用戶控件應該是一個獨立的塊,不需要直接與其他用戶控件交互。

您應該考慮重組您的表單。

+0

Followup問題:我能否將有問題的方法從「Leftside」移動到父表單本身,使「Leftside」和「Rightside」可以調用該方法? – 2010-07-07 20:20:17

+0

@Raven:是的。使其成爲公共方法,然後編寫'((MyParentFormClass)FindForm())。SomeMethod()' – SLaks 2010-07-07 21:04:14

1

完全等效標準WF控制:如何保持一個文本框的文本同步與另一:

private void textBox1_TextChanged(object sender, EventArgs e) { 
     textBox2.Text = textBox1.Text; 
    } 

必要因素:當一些有趣的事情發生了被解僱的用戶控件的事件。和公共財產。

相關問題