2012-09-21 111 views
1

我在C#Windows窗體應用程序中創建了一個樣本登錄表單,而我想要添加的記住用戶名或密碼功能到我的登錄表單。如何記住登錄表單的用戶名或密碼

我只需要提供我的用戶名,因爲它會記住我的密碼並自動填寫密碼字段(例如,在Gmail身份驗證中)。

我怎麼能做到這一點?

這是我的登錄表單應用程序: - http://i50.tinypic.com/2pzxjb7.jpg

+0

將它存儲在某個地方。您存儲的位置可能取決於您想要的安全程度。 – Arran

回答

4

我會用.Net's built-in settings API

您可以使用自定義範圍定義多個強類型設置;用戶或應用程序。在Visual Studio中有一個接口。如果您打開項目屬性,則可以選擇設置選項卡。如果您的項目中沒有設置文件,則可以單擊此處的鏈接讓Visual Studio創建一個。一旦你有了,你可以輸入應用程序設置的名稱,類型,範圍和默認值。

將所有設置完成後,將在<ProjectName>.Properties命名空間下有一個名爲Settings的類。然後,您可以使用Settings.Default靜態屬性來訪問默認設置,更改它們的值並調用Save方法來保留它們。

當你啓動你的應用程序,持久化設置被加載,你可以通過編程方式將它們輸入到你的用戶界面。

如果所有這些都是針對您的方案過度銷燬的,則可以在相對於用戶的配置文件文件夾定義的位置手動讀取/寫入/從文件讀取/寫入。

+0

我想將它存儲在應用程序設置 – Smith

+0

我不知道如何存儲用戶名或密碼,請你解釋,我不知道如何使用設置存儲用戶名或密碼。 – Smith

0

我解決了使用。

在你的WinForms項目點擊右鍵選擇屬性,選擇設置並添加名字存儲的數據(如用戶名和passUser)

所以在你登錄窗體中添加一個複選框記得我。

在您按鈕洛檢查,如果複選框真實,保存用戶,並通過

 if (checkRemember.Checked) 
     { 
      Properties.Settings.Default.userName = textBoxUserName.Text; 
      Properties.Settings.Default.passUser = textBoxUserPass.Text; 
      Properties.Settings.Default.Save(); 
     } 

在您加載登錄窗體添加此

 if (Properties.Settings.Default.userName != string.Empty) 
     { 
      textBoxUserName.Text = Properties.Settings.Default.userName; 
      textBoxUserPass.Text = Properties.Settings.Default.passUser; 
     } 

問候。

-1
if (checkRemember.Checked) 
{ 
    Properties.Settings.Default.userName = textBoxUserName.Text; 
    Properties.Settings.Default.passUser = textBoxUserPass.Text; 
    Properties.Settings.Default.Save(); 
} 

if (Properties.Settings.Default.userName != string.Empty) 
{ 
    textBoxUserName.Text = Properties.Settings.Default.userName; 
    textBoxUserPass.Text = Properties.Settings.Default.passUser; 
} 
+0

你的答案的描述會很好。 – Adriani6

相關問題