【问题标题】:Refreshing a user control in design time depending on a property根据属性在设计时刷新用户控件
【发布时间】:2013-04-16 19:51:23
【问题描述】:

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

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

【问题讨论】:

    标签: c# .net winforms user-controls


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      这与使用 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;
          }
        }
      }
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2010-09-05
          • 1970-01-01
          • 1970-01-01
          • 2015-01-03
          • 2010-10-21
          • 1970-01-01
          • 1970-01-01
          • 2016-10-18
          • 1970-01-01
          相关资源
          最近更新 更多