0
我正在用C#编写一个MDI应用程序。我想要一种方法来存储所有打开窗口的位置和内容,以便用户可以自定义查看多个文档的方式。有没有简单的方法来做到这一点,或者我将不得不推出我自己的解决方案?如何在.NET中坚持MDI布局?
我正在用C#编写一个MDI应用程序。我想要一种方法来存储所有打开窗口的位置和内容,以便用户可以自定义查看多个文档的方式。有没有简单的方法来做到这一点,或者我将不得不推出我自己的解决方案?如何在.NET中坚持MDI布局?
我见过几种形式的持久化类,但他们并没有做到我所需要的。我结束了我自己的滚动,基本上从事下列内容:
Control mdiClientControl;
foreach (Control control in Controls)
{
if (control is MdiClient)
{
mdiClientControl = control;
break;
}
}
foreach (Form mdiChild in MdiChildren)
{
string theName = mdiChild.Name + "_Window_Layout";
DoSave(theName, "Top", mdiChildTop);
.
.
.
DoSave(theName, "WindowState", (int)mdiChild.WindowState);
DoSave(theName, "Visible", mdiChild.Visible);
DoSave(theName, "ChildIndex", theMDIClientControl.Controls.GetChildIndex(mdiChild));
}
DoSave就会()只存储这些信息关在用户空间中的一些XML文件,但是,你可以存储不同的看法,当然。
在适当的时候,比如在启动时,我有一个ReadSettings()方法,它基本上颠倒了过程,询问了保存的设置,设置了值。这个问题可能有一个更优雅的解决方案,但这个对我来说确实很好。
希望有所帮助。
它看起来像没有内置的方式来做到这一点。 – 2009-10-09 21:37:55