gpt4 book ai didi

c# - 亲子控制

转载 作者:行者123 更新时间:2023-12-03 10:35:22 26 4
gpt4 key购买 nike

我有一个包含MainControlChildControlChildControl具有一个隐藏按钮,该按钮会隐藏自身。
隐藏后,我希望MainControl钩住事件并进行处理。

  • MainControl
  • ChildControl>隐藏按钮

  • 无法弄清楚我应该如何钩住那些。

    有小费吗?谢谢!

    最佳答案

    您可以创建一个事件,该事件将通知主控件子控件已隐藏,并且可以在主控件中处理该事件,然后处置该控件。

    以下是一个小示例代码,说明如何为隐藏操作创建事件。

        class MainControl
    {
    ChildControl childControl;

    public MainControl()
    {
    childControl = new ChildControl();
    childControl.VisibilityChanged += childControl_VisibilityChanged;
    }

    void childControl_VisibilityChanged(object sender, HiddenEvent e)
    {
    if (e.isHidden)
    {
    //close control here
    }
    }
    }

    public class HiddenEvent : EventArgs
    {
    public HiddenEvent(bool propertyValue)
    {
    this.isHidden = propertyValue;
    }

    public bool isHidden { get; set; }
    }
    public class ChildControl
    {
    public event EventHandler<HiddenEvent> VisibilityChanged;

    public ChildControl()
    {

    }

    private bool _isHidden;
    public bool Control
    {
    get
    {
    return _isHidden;
    }
    set
    {
    _isHidden = value;
    Hidden_Handler(value);
    }
    }

    private void Hidden_Handler(bool isHidden)
    {
    var handler = VisibilityChanged;
    if (handler != null)
    VisibilityChanged(this, new HiddenEvent(isHidden));
    }
    }

    关于c# - 亲子控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31934376/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com