c#实现MDI的子窗口列表。

[复制链接]
查看11 | 回复2 | 2008-1-30 13:25:19 | 显示全部楼层 |阅读模式
MDIWindowListItem是可以自动更新的,但是这个自动有个前提,就是子窗体之间切换一下这样就可以实现自动更新menuitem text但是这样做比较麻烦,我只提供一个思路就是监听一下上面那个过程发送的消息,然后找到方法,模拟切换
回复

使用道具 举报

千问 | 2008-1-30 13:25:19 | 显示全部楼层
没看明白你是什么地方不懂,是动态菜单?还是动态子窗体?给你段我写过的代码,希望能有点帮助public class FromUtil
{
///
/// 在MDI窗体中寻找ChildForm,如果childform已经存在则激活为当前子窗体,如果子窗体不存在则建立
///
///
///
public static void ActionChildForm(System.Windows.Forms.Form MDIForm, System.Windows.Forms.Form ChildForm)
{
foreach (System.Windows.Forms.Form f in MDIForm.MdiChildren)
{
if (ChildForm.GetType() == f.GetType())
{
ChildForm = null;
f.WindowState = System.Windows.Forms.FormWindowState.Maximized;
f.Show();
f.Activate();
//break;
return;
}
}
ChildForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
ChildForm.MdiParent = MDIForm;
ChildForm.Show();
}///
/// 在MDI窗体中寻找ChildForm,如果childform已经存在则激活为当前子窗体,如果子窗体不存在则建立
/// 同时关闭其它子窗体
///
///
///
public static void ActionSingleChildForm(System.Windows.Forms.Form MDIForm, System.Windows.Forms.Form ChildForm)
{
foreach (System.Windows.Forms.Form f in MDIForm.MdiChildren)
{
if (ChildForm.GetType() == f.GetType())
{
ChildForm = null;
f.WindowState = System.Windows.Forms.FormWindowState.Maximized;
f.Show();
f.Activate();
}
else
{
f.Close();
}
}
}
}
回复

使用道具 举报

千问 | 2008-1-30 13:25:19 | 显示全部楼层
晕了我理解的是 你点一个按钮后弹出一个Form然后Form的窗体标题没变哈你写一个判断语句就OK了 如果要现实哪个窗口 然后在那写上窗口的名字.Test=什么名字就行了啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行