我目前正在.net 4.0中设计一个MDI应用程序(一个自定义CRM),我开始不喜欢整个界面,因为没有真正的方法来跟踪哪些窗口是打开还是关闭,它可能会导致到一个非常混乱的界面。
避免这种情况的最佳方法是什么? - 我应该实现一个任务栏来跟踪每个开放的mdi孩子吗? - 我应该使用对话来防止多任务吗? - 有没有办法改变mdi容器上最小化窗口的大小(为什么它们如此之小,你甚至无法以这种方式读取完整的表单标题......)
对于这么多问题感到抱歉,提前谢谢。
答案 0 :(得分:1)
MDI有其用途,但正如您所发现的那样,很容易导致界面混乱,难以使用。当前流行的处理方法是添加选项卡控件(如在任何Web浏览器中,或大多数文本编辑器/ IDE),以允许在打开视图之间切换。我猜这接近任务栏。
其他选项是Outlook栏(Outlook左侧的大视图选择器)等控件,或者可能只是一个包含当前打开视图的简单列表框。
或者,考虑一下你真正想要多个窗口可用的频率,以及它们中的大多数是否是“工具窗口”。如果是这样,也许可以查看使用这些工具窗口的停靠窗口,以及应用程序其余部分的单个文档界面。一切都取决于你实际在做什么!
答案 1 :(得分:1)
MDI窗口管理已经内置了通过菜单跟踪打开的窗口。 ToolStripMenu有一个MdiWindowListItem,您可以将其设置为包含打开窗口列表的菜单项的引用。如果菜单附加到MDI父窗口,则子窗口会自动填充菜单项。
MDI的目标之一是允许多任务处理。如果这不是您想要的,请使用其他设计。
至于更改最小化窗口的大小,显然使用标准Windows界面是不可能的。在此处查看更多信息:Is it possible to change size of minimized window in MDI C# Winforms。但是你可以删除标准的Minimize按钮,添加你自己的按钮,并在处于Normal状态的窗口做你想做的事。