2013-05-08 111 views
0

我有一個包含選項卡控件的窗體。一個選項卡具有一個用戶控件,另一個具有不同的用戶控件。第一個選項卡有一堆複選框。根據複選框的選擇,另一個選項卡上的組合框將填充不同的數據。問題是,用戶控件在載入表單時都被加載,所以組合框的數據已經設置好了。我想在其他選項卡上的選擇更改時重新加載組合框中的數據。我不知道如何實現這一點,因爲我不能直接從另一個用戶控件中調用一個方法。一位同事建議我看看活動行動。任何幫助或建議,將不勝感激。如何在頁面上更改頁面後刷新組件

回答

0

您可以在選項卡上使用Enter事件並將刷新代碼放在那裏。這種解決方案並不完美,因爲只有通過TabControl「輸入」它們,頁面纔會刷新。

另一個選項是在每個頁面內保留對TabControl的引用,並在數據更新時刷新監聽此數據的頁面。

0

「我不能直接從另一個用戶控件中調用一個方法。」

確實......但表格可以充當「中間人」。第一個UserControl可以引發第二個UserControl訂閱的自定義事件。您可以手動將它連接到Forms Load()事件中,因爲Form對兩個UserControl都有引用。