根据属性刷新设计时的用户控件

时间:2013-04-16 19:51:24

标签: c# .net winforms user-controls

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

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

3 个答案:

答案 0 :(得分:1)

我不知道你为什么要这样做。 Control只会在运行时隐藏,这就是它的意图。也许你可以在Design-Time创建隐藏它的东西,或者在它上面添加另一个控件来隐藏它。

  

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

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

答案 1 :(得分: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;
    }
  }
}

答案 2 :(得分:0)

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

我最终覆盖了OnCreateControl。尽管如此,我感谢你的帮助。