从另一个用户控件向文档管理器添加文档

时间:2016-12-20 06:39:56

标签: c# winforms devexpress

我创建了QLineEdit,称为3 User ControlsmainUCcollectionUC

我在editUC中添加了documentManager并将其放在主表单上。

在我的mainUC中,我已将mainUC添加为文档。

在我的collectionUC中,有一个按钮可以打开collectionUC

editUC editUC collectionUC中的documentManager点击按钮时,如何将mainUC添加为新标签?

1 个答案:

答案 0 :(得分:0)

我们的想法是创建一个mainUC接口,您可以在其中公开一个向documentManager添加文档的方法:

public interface IMainUC
{
    void AddDocument();
}

public class MainUC : XtraUserControl, IMainUC
{
    ...

    public void AddDocument()
    {
        EditUC editUC = new EditUC(...);
        ...
        this.documentManager.View.Add(editUC);
    }

    ...
}

collectionUC中,将该接口传递给构造函数,并使其成为usercontrol的成员变量。

public class CollectionUC : XtraUserControl
{
    private readonly IMainUC m_mainUC;
    public CollectionUC(IMainUC mainUC)
    {
        m_mainUC = mainUC;
    }

    public void MyButtonClick(object sender, EventArgs e)
    {
        m_mainUC.AddDocument();
    }
}

当然,您也可以将editUC的实例传递给mainUC的接口方法。 希望这有帮助!