http://www.cnblogs.com/IAmBetter/archive/2012/01/14/2322156.html
winform设计一个登录界面和修改密码的界面-自动切换窗体(问题[已解] 望一起讨论)(技术改变世界-cnblog)
需求
登录界面:
1.要求 密码 文本可以显示和隐藏 字符 password属性
2.显示输入按钮button
要求显示输入按钮 按下去之后,实现 名字变成“取消”,取消之后密码又是隐藏的
3.要求只能输入错误 3次,3次之后自动退出
4.要求点击修改密码 切换到 修改密码界面
修改密码界面:
1.要求 新密码 2次输入一致,并且不能和旧密码一样
2.实现: 密码不能为空 提示 新旧密码一致 提示 自动清空 新密码2次输入不一致 提示并清空
3.利用 ComboBox 控件实现, 利用 清除 按钮 清除 所在的行,(要求 如果不选择 comboBox,清除 按钮是不可使用的)
问题在最后:
登录界面:
View Code
修改密码界面:
View Code
问题1: show() 与 showDialog()的区别,这个我给出答案
答:show() 调用的时候,这个时候会出现 2个界面,登录和修改界面,并且 用户是可以修改父界面(登录界面的)
showDialog()调用,是不可以修改父界面的,必须关闭 当前的子界面,也就是修改密码界面
问题2:
要实现 按“修改密码”按钮的时候的时候,调用修改密码界面并且隐藏 登录界面,当 ”修改密码界面“ 确定或者取消的时候,自动弹出 登录界面并且隐藏 修改密码界面。
结论:对于 问题2
我以前的做法是,为了实现弹出窗口,我是 建立了 2个 解决方案,其实没那个必要,在一个 解决方案里,生成多个Form1.cs即可
这样类似于 多个类 继承于 Form
感谢nfyz:
对于登录界面:
private void btnChangePassword_Click(object sender, EventArgs e)
{
this.Visible = false;
Form2 form2 = new Form2();
form2.ShowDialog();
this.Visible = true;
}
这样即可,当点击 修改密码 按钮就会隐藏 登录界面,然后打开了 修改密码界面,注意 这个时候 系统会停在这里,当你关闭 修改密码界面之后,登录界面又回来了。