ToolStripManager不会按预期将我的工具条恢复到以前的位置。我创建了一个非常简单的应用来演示。我在ToolStrip容器中包含4个可移动的工具条。我移动工具条,从上到下依次为4-3-2-1(图A)。然后关闭应用程序。当我重新打开它时,它们的排序如图B所示。
这是简单的代码。我已经验证了LoadSettings和SaveSettings方法调用中使用的Key是相同的字符串。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ZT2
{
public partial class Form1 : Form
{
string keyName = "abc";
public Form1()
{
InitializeComponent();
keyName = Application.ProductName + this.Name + "xyz";
ToolStripManager.LoadSettings(this, keyName);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
ToolStripManager.SaveSettings(this, keyName);
}
}
}
Visual Studio 2010 - C# .Net 4客户资料
答案 0 :(得分:1)
答案 1 :(得分:0)
在表单关闭时保存设置:
ToolStripManager.SaveSettings(this);
在表单加载中加载设置:
ToolStripManager.LoadSettings(this);
答案 2 :(得分:0)
ToolStripContainer的一个问题是你不能只设置包含ToolStrip的位置,因为容器总是检查容器中的其他ToolStrips。
如果在设计时没有将ToolStrips放在容器中,它可以正常工作。 你只需要一个函数来初始化它们。
另一种可能性是在调用ToolStripManager.LoadSettings函数之前将每个Toolstrip的parent属性设置为null