在我的窗体上,我有2个UserControls(ButtonDiscount,ButtonAdvertisment)继承了FadeControl。 FadeControl继承UserControl类,用于在淡出等控件上执行自定义内容。从另一个usercontrol访问usercontrol的方法
我的2个用户控件每个只有一个按钮,因此这两个缺乏想象力的名称。
单击其中一个usercontrols上的该按钮,我需要从另一个UserControl访问FadeControl中的方法。另一个按钮则相反。
我已经做了下面,就在用户控件ButtonDiscount事件点击:
private void button1_Click(object sender, EventArgs e)
{
ButtonAdvertisment ba = (ButtonAdvertisment)this.Parent.Controls.Find("buttonAdvertisment1", true)[0];
ba.FadeOut(true);
}
它的工作原理就像一个魅力,但我不认为这是正确的做法,是有另一种方式从另一个UserControl的父类访问该方法?
我无法通过UserControl构造函数传递它,设计师每次都会发生故障。
你不能只调用'buttonAdvertisment1.FadeOut(true);'? –
@Mario号我从'ButtonDiscount'中看不到它。即使'FadeOut'是公开的。 –
啊,这是UserControl ButtonDiscount中的代码...然后我看到了。然后使用事件,并在主窗体(用户控件按钮的容器)中将事件绑定到彼此的淡出方法。 –