VS 2010 C# winform:[3]记住密码

2025-03-24 17:57:22

1、构建窗体文件。CheckBox控件。

VS 2010 C# winform:[3]记住密码
VS 2010 C# winform:[3]记住密码

2、在登录按钮写事件,如果登录成功以后,判断记住密码是否被选中,写入配置文件。 //记住密码 if (cb_jzmm.Checked == true) { WriteIni("My Section", this.txtDLM.Text.ToString(), this.txtMM.Text.ToString(), string.Format(@"{0}\XXX.dll", Application.StartupPath)); } else { WriteIni("My Section", this.txtDLM.Text.ToString(), "空", string.Format(@"{0}\XXX.dll", Application.StartupPath)); }

VS 2010 C# winform:[3]记住密码

3、用户名输入框添加事件。用于判断输入的用户名是否记住密码,如果记住密码就读出密码。 private void txtDLM_Text潮贾篡绐Changed(object sender, EventArgs e) { string DLM = this.txtDLM.Text.ToString(); string result = ReadIni("My Section", DLM, string.Format(@"{0}\XXX.dll", Application.StartupPath)); if (result == null || result =="空") { this.txtMM.Text = ""; this.cb_jzmm.Checked = false; } else { this.txtMM.Text = result; this.cb_jzmm.Checked = true; } }

VS 2010 C# winform:[3]记住密码

4、运行效果,输入用户名,就自动出现密码。

VS 2010 C# winform:[3]记住密码

5、其中XXX.dll文件需要存放的位置为,当前程序的同级目录。里面的内容为:[My Section] 如图

VS 2010 C# winform:[3]记住密码
VS 2010 C# winform:[3]记住密码

6、补充一个类。代码如下: #region 登录氇监煜紊记住密码 /// <summary> /// 提供INI文件的写操作(如Key和Value都为空(null), 则删除Section指定的节下所有键值(包括节名)[如Value为空(null), 则删除Section节下Key键值]) /// </summary> /// <param name="Section">指定的节名</param> /// <param name="Key">指定的键名</param> /// <param name="Value">Key的值(请将相应的类型ing,long...转换为string类型)</param> /// <param name="FilePath">INI文件全路径</param> /// <returns></returns> public static bool WriteIni(string Section, string Key, string Value, string FilePath) { //成功返回非零 long lRe = WritePrivateProfileString(Section, Key, Value, FilePath); return lRe == 0L ? false : true; } /// <summary> /// 提供INI文件的读操作 /// </summary> /// <param name="Section">指定的节名</param> /// <param name="Key">指定的键名</param> /// <param name="FilePath">INI文件全路径</param> /// <returns>请将string类型转换为相应int,long的类型(返回值不应超过255字符)</returns> public static string ReadIni(string Section, string Key, string FilePath) { int Size = 255; StringBuilder ReStr = new StringBuilder(255); GetPrivateProfileString(Section, Key, "ERROR...", ReStr, Size, FilePath); if (ReStr.ToString() == "ERROR...") { return null; } return ReStr.ToString(); } /// <summary> /// C#申明INI文件的写操作函数WritePrivateProfileString() /// </summary> /// <param name="Section"></param> /// <param name="Key"></param> /// <param name="Value"></param> /// <param name="FilePath"></param> /// <returns></returns> //读写INI文件功能 [DllImport("kernel32")] public static extern long WritePrivateProfileString(string Section,//指定的节名 string Key, //指定的键名 string Value, string FilePath); /// <summary> /// C#申明INI文件的读操作函数GetPrivateProfileString /// </summary> /// <param name="Section"></param> /// <param name="key"></param> /// <param name="Def"></param> /// <param name="RetVal"></param> /// <param name="Size"></param> /// <param name="FilePath"></param> /// <returns></returns> [DllImport("kernel32")] public static extern int GetPrivateProfileString(string Section, //指定的节名 string key, //指定的键名 string Def, //如果未取得正确的值则返回自定义的字符串 StringBuilder RetVal,//保存字符串值 int Size, //指定RetVal的长度 string FilePath); //ini文件路径(如果ini文件不在操作系统文件夹内,则必须指定ini文件的绝对路径) #endregion 登录记住密码

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢