如果面板可见,使用委托触发事件?

时间:2011-07-14 14:10:51

标签: winforms events delegates panel

我试图找到一个使用委托的理由,据我所知,委员基本上是一个事件。

我将拥有的事件将在Windows窗体中。我有一个开始不可见的面板,但当它变得可见时,背景中的所有内容都被禁用(弹出窗口)。

我可以拥有它,以便任何使面板可见的东西也会导致一切都被禁用,就像我通常那样。但是我可以设置一个委托或事件,所以每当该面板可见时,它会调用一个禁用所有内容的方法吗?

我无法想象如何与代表合作。

2 个答案:

答案 0 :(得分:0)

怎么样:

panel.VisibleChanged += (sender, args) =>
{
    if (panel.Visible) // Just become visible
    {
        // Disable everything else
    }
};

答案 1 :(得分:0)

System.Windows.Forms.Control s(包括Panels)有一个可以绑定的VisibleChanged事件。所以

myPanel.VisibleChanged += OnMyPanelVisibleChanged;

或内联:

myPanel.VisibleChanged += (sender, e) => this.Enabled = myPanel.Visible;