默认情况下我有一个带有全局键的应用程序,它运行正常,但我希望当其他人使用我的应用程序时,通过在我的应用程序中以设置形式更改它来使用他们想要的全局键。
有 3个复选框,一个用于ctrl,alt和shift,一个组合框从A到Z和一个用于保存新全局密钥的按钮,可以保存以供将来使用,但我不知道#39;不知道怎么做。
我正在使用Visual Studio 2013,Windows Forms,我希望在关闭并再次打开应用程序后保存设置以加载它。
如何创建和保存此设置,以便在关闭应用程序后即可使用?
答案 0 :(得分:0)
您似乎在寻求帮助,允许最终用户修改应用程序的键盘设置。有几种方法可以做到这一点:
在应用程序设置中保留对已保存密钥的内部引用。
让您的应用程序从外部配置文件(例如.txt / .xml / etc.)解析其配置数据。每次用户更改时都使用新设置覆盖此配置文件并保存其配置。 for .txt:http://msdn.microsoft.com/en-us/library/aa287535%28v=vs.71%29.aspx 对于.xml:http://msdn.microsoft.com/en-us/library/cc189056%28VS.95%29.aspx
创建一个类来封装实现Serializable的行为。在启动时加载此实例,并在用户修改配置时保存此类的新实例。 这可以帮助您开始保存对象的过程:http://tech.pro/tutorial/618/csharp-tutorial-serialize-objects-to-a-file
答案 1 :(得分:0)
您可以这样做来构建密钥对象:
Keys keys = Keys.None;
if (chkControl.Checked)
keys |= Keys.Control;
if (chkShift.Checked)
keys |= Keys.Shift;
if (chkAlt.Checked)
keys |= Keys.Alt;
Keys selectedKey;
Enum.TryParse(cbSelectedKey.SelectedValue.ToString(), out selectedKey);
keys |= selectedKey;
然后将值保存在项目设置中,例如:
右键单击您的项目,转到属性然后设置。添加int
类型的新字段。
然后你可以保存它:(using YourPrjName.Properties;
)
// Shortcut is the name of the property I created.
Settings.Default.Shortcut = (int)keys;
Settings.Default.Save();
要检索已保存的值,只需访问:
var keys = (Keys)Settings.Default.Shortcut;
有些资源可以更好地理解这里描述的每个步骤: