容器传递变量和一个窗口
本文关键字:一个 窗口 变量 | 更新日期: 2023-09-27 18:05:23
i
你好,
我正在使用mdiccontainer
1. 如何将变量从父级传递到子级?
2.我怎么能禁止打开超过1个窗口与相同的名称(这意味着在我的菜单栏有订单,关税,配置…当用户已经打开订单时,当他再次单击菜单栏订单时,它不是打开一个新窗口/创建一个新的子窗口,而是指向已经打开的订单窗口?
谢谢。
在mdiccontainer窗口中创建私有、受保护或公共成员:
class MyMdiContainer : Form
{
private object m_var;
// Property approach
public object MyVar
{
get { return m_var; }
set { m_var = value; }
}
}
下面是mdi子节点:
class MyMdiChild : Form
{
private object m_childVar;
void Communicate()
{
// Read variable
this.m_childVar = ((MyMdiContainer) this.MDIParent).MyVar;
((MyMdiContainer) this.MDIParent).MyVar = "Child Foo";
}
}
在上面的例子中,我们使用了两个字段,每个字段对应两个类,属性用于在MDI父类中存储var,子类中的方法用于在变量上进行通信并在子类中存储副本。
这对于父级到子级是有用的,但是对于同步的父级到多个子级应该以不同的方式实现。