【发布时间】:2013-04-16 19:51:23
【问题描述】:
我有一个带有bool 属性的自定义控件。在设计器中,我将用户控件拖到一个窗体中,并将此属性更改为“false”,这应该隐藏一个子控件。
它确实在运行时隐藏了它,但不是在设计时。如何在设计时“刷新”我的用户控件以反映对该属性的更改?
【问题讨论】:
标签: c# .net winforms user-controls
我有一个带有bool 属性的自定义控件。在设计器中,我将用户控件拖到一个窗体中,并将此属性更改为“false”,这应该隐藏一个子控件。
它确实在运行时隐藏了它,但不是在设计时。如何在设计时“刷新”我的用户控件以反映对该属性的更改?
【问题讨论】:
标签: c# .net winforms user-controls
我不知道你为什么要这样做。控件只会在运行时隐藏,这就是它的本意。也许您可以在设计时创建一些东西来隐藏它,或者添加另一个控件来隐藏它。
如何在设计时“刷新”我的用户控件以反映对该属性的更改?
你不能。更改会自动应用,您仍然可以看到它的唯一原因是它应该是这样的。
【讨论】:
这与使用 Visual Studio 2012 一样:
public class TestControl : Control {
Button button;
public TestControl() {
button = new Button() { Text = "Click" };
this.Controls.Add(button);
}
public bool ButtonVisible {
get { return button.Visible; }
set {
button.Visible = value;
}
}
}
【讨论】:
恐怕我没有正确地问我的问题 - 我继承自一个相当复杂的第三方控件,我希望看到设计时间的变化。
我最终覆盖了OnCreateControl。尽管如此,我还是感谢您的帮助。
【讨论】: