我正在使用c#WinForm。
我有一个自定义UserControl:MyControl : UserControl, INotifyPropertyChanged
。我在事件VisibleChanged上附加了一个方法:this.VisibleChanged += new System.EventHandler(this.MyControl_VisibleChanged);
我的应用程序有一些页面,每个页面都是MyControl
之类的控件。 MainWindows顶部包含Button,用于切换选项卡。
我的问题是只有在Visible变为true时才调用我的函数MyControl_VisibleChanged
。我在选项卡中添加了一项测试以检查MyControl.Visible
,当我选择其他标签时,MyControl.Visible
为false
但未引发任何事件。
我尝试为此控件定义一个新属性Visible但从未设置值,只修改base
值。
你能帮我找一个解决方案吗?
答案 0 :(得分:1)
这是Visible
工作方式的怪癖,explained here。他的解决方案是使用他完全可以控制的属性,但你可以使用一种方法,允许制表符开关告诉他们的孩子提高他们VisibleChanged
事件的额外时间。
this question的前两个答案也可能有用。