2017-07-19 32 views
0

我正在研究c#WinForm。VisibleChanged在不可見時不會引發

我有一個自定義UserControl:MyControl : UserControl, INotifyPropertyChanged。我在事件VisibleChanged上附加了一個事件的方法:this.VisibleChanged += new System.EventHandler(this.MyControl_VisibleChanged);

我的應用程序有一些頁面,每個頁面是一個控件,如MyControl。 MainWindows的頂部包含Button,用於切換選項卡。

我的問題是,我的功能MyControl_VisibleChanged僅在Visible變爲true時被調用。我在選項卡中添加了一個測試,以檢查MyControl.Visible,當我選擇其他選項卡時,MyControl.Visiblefalse,但未引發任何事件。

我試着爲此控件定義一個新的屬性Visible,但值從未設置,只有base值被修改。

你能幫我找到解決辦法嗎?

回答

1

這是一個古怪的方式Visible作品,explained here。他的解決方案是使用他完全控制的屬性,但是您可以使用一種方法讓標籤開關告訴他們的孩子在額外的時間內提高他們的事件。

this question的前兩個答案也可能有用。

相關問題