2014-10-26 64 views
0

默認情況下,我有一個全局鍵的應用程序,它完美的工作,但我希望當別人使用我的應用程序,通過改變它在我的應用程序設置窗體中使用他們所需的全局鍵。如何在Windows窗體應用程序中更改我的應用程序中使用的默認全局鍵?

3複選框,一個用於CTRL,ALT和轉變,從一個組合框Z和保存新的全球關鍵並且可以將其保存爲將來使用一個按鈕,但我不知道如何去做吧。

a picture of my form

我使用的Visual Studio 2013,Windows窗體和我想的設置保存關閉,並再次打開該應用後加載它。

如何創建並保存此設置,以便即使在關閉應用程序後也可以使用該設置?

回答

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; 

然後保存在例如項目設置值:

project settings

右鍵點擊你的項目,選擇屬性,然後設置。添加一個類型爲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; 

一些資源,以更好地理解這裏描述的每個步驟:

+0

對不起,我是C#新手,你能解釋一下還是更清楚? – Nashalj 2014-10-26 19:30:35

+0

謝謝反正男人 – Nashalj 2014-10-26 19:49:47

+0

我有這條線的問題:Enum.TryParse(comboBox1.SelectedValue.ToString(),out selectedKey);調試器得到托盤解析問題? whay? – Nashalj 2014-10-26 19:53:06

0

看起來您正在尋求幫助,讓最終用戶修改您的應用程序的鍵盤設置。有幾種可能的方法可以做到這一點:

  1. 在應用程序設置中保存已保存密鑰的內部引用。

  2. 讓您的應用程序從外部配置文件(例如.txt/.xml /等)解析其配置數據。每當用戶更改並保存其配置時,使用新設置覆蓋此配置文件。 爲.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

  3. 創建一個類來封裝其實現Serializable的行爲。在啓動時加載此實例並在用戶修改配置時保存此類的新實例。 這可以讓你開始與保存對象的過程:http://tech.pro/tutorial/618/csharp-tutorial-serialize-objects-to-a-file

+0

不,我的應用程序不會從文件中解析其配置數據,我wantjust用戶可以使用她所期望的全球鍵。 – Nashalj 2014-10-26 18:49:17

+0

您應該更具體 - 首先,您是使用Windows Forms還是WPF?其次,當你說「未來使用」時,是指應用程序運行時的其餘部分,還是打算在應用程序關閉並重新打開後繼續進行選擇? – furkle 2014-10-26 18:50:51

+0

這是一個窗體,我希望它在關閉並再次打開應用程序後再次保存和加載 – Nashalj 2014-10-26 18:59:35

相關問題