我在C#Windows窗体应用程序中创建了一个示例登录表单,而我想要的是在我的登录表单中添加记住用户名或密码功能。
我只需要提供我的用户名,因为它会记住我的密码并自动填写密码字段(例如gmail auth)。
我怎么能实现这个目标?
这是我的登录表单应用: - http://i50.tinypic.com/2pzxjb7.jpg
答案 0 :(得分:7)
我会使用.Net's built-in settings API。
您可以使用可自定义的范围定义多个强类型设置;用户或应用程序。 Visual Studio中有一个接口。如果打开项目属性,则可以选择“设置”选项卡。如果项目中没有设置文件,可以单击此处的链接以使Visual Studio创建一个。获得一个后,您可以输入应用程序设置的名称,类型,范围和默认值。
完成所有设置后,您将在Settings
命名空间下拥有一个名为<ProjectName>.Properties
的类。然后,您可以使用Settings.Default
静态属性访问默认设置,更改其值,并调用Save
方法来保留它们。
当您启动应用程序时,会加载持久设置,您可以通过编程方式将它们输入到用户界面中。
如果所有这些都是针对您的场景的过度杀戮,您可以手动读取/写入相对于用户的配置文件文件夹的定义位置的文件。
答案 1 :(得分:3)
我用它解决了。
在winforms项目中右键单击并转到属性,选择设置并添加名称以存储数据(例如userName和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;
}
问候。
答案 2 :(得分:1)
您可以尝试使用基于Cookie的记住密码
检查以下参考文献:
https://www.aspforums.net/Threads/130530/Save-Username-and-Password-in-Cookies-using-C-in-ASPNet/
答案 3 :(得分:0)
您可以将其存储在注册表,数据库或应用程序设置中。但我不确定你想要多么安全。
答案 4 :(得分:-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;
}