tft每日頭條

 > 生活

 > winform登錄用戶名怎麼保存

winform登錄用戶名怎麼保存

生活 更新时间:2024-09-29 06:40:49

這段時間在給學生進行軟件開發培訓過程中,針對用戶登錄功能常見的記住密碼功能,部分學生缺乏編程經驗,不知道采用什麼方法實現該功能,進而無法編程。本文主要針對記住密碼功能實現給初學者提供建議與參考。首先給出記住密碼實現頁面,點擊登錄時針對記住密碼自動填寫用戶名與密碼。實現效果如下圖:

winform登錄用戶名怎麼保存(Form登錄框本地記住密碼功能實現)1

登錄窗口記住密碼功能實現


功能實現如上圖所示,目前主流解決該問題的方法包括:

1、用戶名,密碼本地文件存儲

以二進制文件形式實現對用戶登錄信息進行本地文件存儲,在軟件運行load時查詢該文件是否存儲,如果文件存在則讀取用戶登錄信息并顯示到界面控件中。

2、用戶,密碼Access存儲

該方法主要借助簡單的數據庫Access實現對用戶登錄信息進行存儲,通過本地數據庫讀寫操作實現對用戶信息進行讀寫,進而實現記住密碼功能

3、将記住密碼狀态存儲到注冊表中

通過注冊表讀寫功能将用戶密碼狀态寫入注冊表中,通過鍵值實現狀态存儲,軟件運行時查詢注冊表記住密碼狀态,讀取相關信息實現記住密碼功能。


以上三類方法是當前解決登錄功能記住密碼的主要方法,結合實際應用難易程度,本文選擇實用文件存儲方式實現記住密碼。基本思路流程及部分代碼描述如下:

1、首次登錄系統時需要選擇是否記住密碼,如選擇記住密碼則查詢保存用戶名密碼文件是否存在,存在删除,不存在創建文件,寫入二進制數據。

if(File.Exists("f:/userlogin.bin"))//假設存儲文件名稱與路徑為f:/userlogin.bin { File.Delete("f:/userlogin.bin");//判斷是否存在,存在則删除舊文件 }

創建并寫入數據:

try { bw = new BinaryWriter(new FileStream("f:/userlogin.bin", FileMode.Create)); bw.Write(user_id);//寫入用戶ID bw.Write(user_pasd);//寫入用戶密碼 bw.Close(); } catch(IOException ex) { MessageBox.Show("寫入文件失敗" ex.Message);//顯示異常信息 }

2、首次登錄完成記住密碼相關信息文件創建與寫入之後下一步就是需要利用創建的文件實現記住密碼功能。當用戶再次登錄時自動填寫用戶名與密碼。實現基本思路就是窗體 load事件中去查詢讀取文件信息,如果文件讀取成功顯示用戶名與密碼,實現代碼如下:

if (File.Exists("f:/userlogin.bin")) { /*********讀取*******************************/ try { br = new BinaryReader(new FileStream("f:/userlogin.bin", FileMode.Open)); string uname = br.ReadString();//讀取用戶名 string upasd = br.ReadString();//讀取密碼 br.Close(); if(uname!="" && upasd != "") { this.TextBox1.Text = uname;//寫入TextBox this.textBox2.Text = upasd;//寫入TextBox this.textBox3.Text = code; //驗證碼寫入TextBox this.checkBox1.Checked = true;//設置記住密碼狀态 } } catch (IOException ex) { MessageBox.Show("文件讀取失敗" ex.Message); } }

以上兩部分是實現記住密碼的核心思路及實現代碼,其中寫入數據時在用戶點擊登錄事件中完成的,而顯示用戶密碼與用戶名是在窗體加載事件中完成的。當然這種方法也是存在安全問題的,本地文件記住用戶密碼盡管采用了二進制文件形式進行了讀寫,或者複雜路徑,存儲系統盤等形式讓一般用戶找不到文件,或者找到文件讀取不了。但對于有經驗程序員還是可以找到文件并以二進制形式讀取。綜合考慮衡量成本安全,還是可以實用該方法實現記住密碼功能。畢竟面對的絕大多數最終用戶都不是程序員。


本頭條号長期關注于青少年編程資訊分享;編程課程、素材、代碼分享及青少年編程培訓。如果您對以上方面有興趣,可關注該頭條号,如有編程學習問題可以聯系作者,共同探讨。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved