如何在设计模式下显示/隐藏用户控件

3

我正在开发一个用户控件,希望在设计模式下显示一个按钮被选中时的控件,并在失去焦点时隐藏它。

这是相应的属性,在选择了一个按钮后触发:

 public AnimatedButton MenuButton
 {
        get {
            return _ButtonOwner;
        }
        set {
            _ButtonOwner = value;
            this.Visible = this.DesignMode; //===>Set visible the panel when is in a design mode
            if (value != null) {
                _ButtonOwner.StateChange += new AnimatedButton.StateChangeHandler (_OwnerStateChangeEvent);              

            }
        }
    }

我希望的是,在设计模式下选择一个按钮时,其他控件会出现,而当我失去对该按钮的焦点时,其他控件则会消失。
我已经将更改提交到GitHub上,如果有人想查看代码。我有一个面板窗口控件和一个动画按钮控件,在面板窗口控件中有一个动画按钮类型的属性,我可以从表单中选择一个动画按钮。我所希望的是,当菜单按钮被选中时,面板窗口就会显示出来,而当失去焦点时,面板窗口就会隐藏起来,所有这些都只在设计模式下进行。希望大家能够理解。

从你的代码中并不清楚你在寻找什么,你尝试了什么,取得了什么成就以及想要改变什么。 - abatishchev
当我在设计模式下选择一个按钮时,另一个控件集将变为可见状态,当我失去对该按钮的焦点时,该控件集将变为不可见状态。 - MrAlex6204
你能在构造函数中检查设计模式并订阅事件吗?但我认为仅为了设计时添加如此复杂的逻辑并不值得。 - abatishchev
在我看来,可见性是运行时状态。在设计师中隐藏某些东西只会引发麻烦。 - Sam Axe
我知道我想做的可能有点傻,但只是为了设计模式,如果能做到这一点就太好了,那么我就可以将控件封装成一个程序集,如果想要使用,只需拖放控件配置即可。XD - MrAlex6204
显示剩余2条评论
1个回答

1
设计时环境在决定是否在设计表面上显示控件时不考虑其Visible属性。您可以将Visible属性设置为任何值,但它仍将始终显示。
这样做是为了使您仍然可以看到并设计一个在运行时最初将被隐藏的控件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接