最近在练习代码 C# winform,考虑模拟做个ATM应用,大概功能就是存取款这些
主要的疑惑有是 界面的切换跳转
大概的流程:主菜单(点击存款)->读卡(手工输)->密码->显示余额->放钞(手动输入金额)->显示存款结果->主菜单(点返回)
我考虑了几种方式:
1、主菜单是主窗口,然后点击存款的时候show读卡界面,然后hide主菜单,在读卡中又再show密码输入界面 依次类推
这种方式的话最后交易结束如何把主菜单窗口显示呢?如果每个页面都hide那么怎么最后一起关闭呢? 因为再点一次存款又会new出一个新的...
2、想过把每个子界面加载到主程序的panel控件中,或者webkit.net通过加载html页面 但是不太清楚具体的代码实现
其实简单点的说 就是想实ATM那样可以一直下一页 也可撤销返回那种 有没有哪位大神给个demo学习下或者给提供个思路 谢谢了
思路:使用Panel
,每个Panel
一个功能界面,用到哪个就显示哪个,其余隐藏。
1.第一个Panel
界面:登录。设置一个密码文本框TextBox
和一个登录按钮Button
,使用Label
提示密码错误消息,成功则隐藏登录Panel
,显示主菜单Panel
;
2.第二个界面:主菜单。主菜单设置几个按钮Button
,比如查询余额,存款,取款,退出等等;
3.之后就是查询余额、存款、取款等界面,然后退出就显示登录Panel
,隐藏其他Panel
。
隐藏和显示Panel
写一个公用方法:
/// <summary>
/// 显示指定 Panel
/// </summary>
/// <param name="control">需要显示的 Panel</param>
public void ShowMyPanel(Control control)
{
foreach (var item in this.Controls)
{
if (item.GetType() == typeof(Panel))
{
Panel pnl = (Panel)item;
pnl.Visible = false;//其余都隐藏
}
}
control.Visible = true;
}
这里正好有一个参考代码:https://q.cnblogs.com/q/113697/