0

bool我有一个带有属性的自定义控件。在设计器中,我将用户控件拖到表单中,并将此属性更改为“false”,这应该隐藏子控件。

它确实在运行时隐藏它,但不是在设计时。如何在设计时“刷新”我的用户控件以反映对此属性的更改?

4

3 回答 3

1

我不知道你为什么要这样做。控件只会在运行时隐藏,这就是它的本意。也许您可以在设计时创建一些东西来隐藏它,或者添加另一个控件来隐藏它。

如何在设计时“刷新”我的用户控件以反映对此属性的更改?

你不能。更改会自动应用,您仍然看到它的唯一原因是它应该是这样的。

于 2013-04-16T19:54:18.430 回答
1

这就像使用 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;
    }
  }
}
于 2013-04-16T20:20:53.067 回答
0

恐怕我没有正确地问我的问题——我继承了一个相当复杂的第三方控件,我希望看到设计时间的变化。

我最终覆盖了OnCreateControl. 不过,我感谢您的帮助。

于 2013-05-10T00:29:02.097 回答