我有一个mdi父母和mdi孩子,我想知道我应该在什么条件下为此调用正确的类。
senario是我在mdi parent(selectall)中有一个按钮然后我想将该按钮用于活动的mdi孩子。
让我们说:
private void iSelectAll_ItemClick(object sender, e)
{
Form DtexteditoR = new DtexteditoR();
//DtexteditoR.Show();
if (DtexteditoR.MdiChild == true)
{
rtb.SelectAll();
}
}
但错误
运算符==不能应用于类型的操作数 'System.Windows.Forms.Form'和'bool'
出现......我该怎么办?
答案 0 :(得分:3)
您需要Form.IsMdiChild
来检查表单是否为Mdi Child。
获取一个值,该值指示表单是否为多文档 接口(MDI)子表单。
private void iSelectAll_ItemClick(object sender, e)
{
Form DtexteditoR = new DtexteditoR();
//DtexteditoR.Show();
if (DtexteditoR.IsMdiChild)
{
rtb.SelectAll();
}
}
要检查MdiContainer
使用Form.IsMdiContainer属性
答案 1 :(得分:0)
编写一个继承自Form类的表单类,并实现以下方法(MasterForm): 主表单类childs中的方法:selectAll
public class MasterForm:Form
{
public virtual void SelectAll()
{
}
}
每个子表单必须从MasterForm中删除并覆盖SelectAll方法
public class Child1:MasterForm
{
public override void SelectAll()
{
this.rtb.SelectAll();
}
}
按钮单击正文中的父表单
if(this.ActiveMdiChild!=null)
{
MasterForm frm =(MasterForm) this.ActiveMdiChild;
frm.SelectAll();
}