关于WeifenLuo组件的问题(了解的请进)!

caleeoo 2010-09-28 08:12:11
关于 关闭窗口 问题 close_others
if (DockPanel.DocumentStyle == DocumentStyle.SystemMdi)
{
Form activeMdi = ActiveMdiChild;
foreach (Form form in MdiChildren)
{
if (form != activeMdi)
form.Close();
}
}
else
{
foreach (IDockContent document in DockPanel.GetDocuments())
{
if (!document.DockHandler.IsActivated)
document.DockHandler.Close();
}
}

我的不是SystemMdi。但是 关闭时不准确。因为IsActivated不对,
当关闭其他时,可能全都被关闭,或者未关闭的不是当前激活状态的窗口。

谁知道 怎么改,或者源代码中IsActivated 都在什么情况下改变
...全文
165 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caleeoo 2010-09-28
  • 打赏
  • 举报
回复
有时留下的是该关闭的
caleeoo 2010-09-28
  • 打赏
  • 举报
回复
有时所有窗口都打开
应该是关闭了
caleeoo 2010-09-28
  • 打赏
  • 举报
回复
我已经用dll了,但是还有些小问题。
打开多个窗口的时候,每个窗口上面 都有右键菜单项,关闭当前窗口 关闭其他窗口。
foreach (IDockContent document in DockPanel.GetDocuments())
{
if (!document.DockHandler.IsActivated)
document.DockHandler.Close();
关闭其他窗口,用的上面的代码。但是不正确,有时所有窗口都打开了,有时该留下的是该关闭的。
因为上面这段代码是判断document.DockHandler.IsActivated来关闭的,我想知道这个属性都是在什么情况改变。
看了下源码,也没注释,太难懂了。
smilejianghu 2010-09-28
  • 打赏
  • 举报
回复
我以前研究过 这个 你看看有没有参考价值 http://blog.csdn.net/smilejianghu/archive/2009/12/19/5038780.aspx
smilejianghu 2010-09-28
  • 打赏
  • 举报
回复
WeifenLuo中的关系很复杂,我也是研究了很久,能说下你想实现什么样的功能么?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧