C# mdi子窗体操作mdi子窗体

比如有mdi子窗体form2在form2中单机一个按钮判断mdi子窗体form3是否已经载入没有载入则载入载入后执行子窗体form3的某个方法当然载入了就直接执行form... 比如有mdi子窗体form2
在form2中单机一个按钮判断mdi子窗体form3是否已经载入
没有载入则载入 载入后执行子窗体form3的某个方法
当然载入了就直接执行form3的这个方法了
展开
 我来答
doudoulong2
2012-07-02 · TA获得超过135个赞
知道答主
回答量:94
采纳率:0%
帮助的人:73.6万
展开全部
private void Button_Click() //按钮的单击事件
{
foreach(Form frm in this.MdiParent.MdiChildren) //this.MdiParent.MdiChildren就是和自己在同一个MDI父级的子窗体集合
{
if(frm.GetType()==typeof(Form3))
{
frm.Text="123"; //这里换成需要的方法
break;
}
}
Form3 child=new Form3(); //如果执行到这里还没有退出,则说明Form3没有被载入
child.Show();
child.Text="123"; //这里换成需要的方法
}
yaji166
2012-07-06 · TA获得超过157个赞
知道小有建树答主
回答量:511
采纳率:0%
帮助的人:307万
展开全部
再form2中加一个父窗口的变量,实例化时候赋值,父窗口中再加入form3是否打开的变量,这样就能调用到了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gookee
2012-07-02
知道答主
回答量:11
采纳率:0%
帮助的人:1.8万
展开全部
private void OpenForm(string frmType, bool max = true, params object[] args)
{
foreach (var item in this.MdiChildren)
{
if (item.GetType().ToString() == "QQFind." + frmType)
{
item.Show();
item.BringToFront();
return;
}
}

Form frm = Activator.CreateInstance(Type.GetType("QQFind." + frmType), args) as Form;
frm.MdiParent = this;
frm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
frm.StartPosition = FormStartPosition.CenterScreen;
if (max)
{
frm.Width = mdiClient.Width - 2;
frm.Height = mdiClient.Height;
}
frm.Show();
}

在show()的时候根据情况添加执行动作即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式