我创建了QLineEdit
,称为3 User Controls
,mainUC
和collectionUC
。
我在editUC
中添加了documentManager
并将其放在主表单上。
在我的mainUC
中,我已将mainUC
添加为文档。
在我的collectionUC
中,有一个按钮可以打开collectionUC
。
当editUC
editUC
collectionUC
中的documentManager
点击按钮时,如何将mainUC
添加为新标签?
答案 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
的接口方法。
希望这有帮助!