如何从不同的类

时间:2017-11-29 10:58:57

标签: c# windows user-controls

我正在创建Windows表单应用程序,其主窗体包含一个面板。按钮单击时,该面板上将加载不同的用户控件。

namespace LearnCSharp
{
    public partial class MainForm : Form
    {
        private void configButton_Click(object sender, EventArgs e)
        {

            var uControllerDashboard = new Controllers.Dashboard();      
            panel.Controls.Add(uControllerDashboard);
            updateNotification("active");           

        }

        private void updateNotification(string state)
        {
            switch (state)
            {
                case  "active" :
                //Do something here
                break;

            }
        }

    }
}

点击配置按钮后,它会将Dashboard用户控制器加载到面板 Dashboard userControl 中有另一个应用按钮。当我点击该按钮时,我需要在 MainForm类中调用 updatNotification 方法。

namespace LearnCSharp.Controllers
{
    public partial class Dashboard : UserControl
    {
        private void btnApply_Click(object sender, EventArgs e)
        {
            // Need to call updateNotification method here. 
        }
    }
}

我怎样才能达到我的要求。我感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

使用事件。

不是在UserControl中调用MainForm,而是在UserControl中创建一个事件,让MainForm订阅该事件。在UserControl中,您只需要触发事件。

网上有很多关于此的例子。看看这个:

希望这有帮助。