首页 新闻 会员 周边

关于ATM应用

0
悬赏园豆:10 [已解决问题] 解决于 2019-08-27 08:55

最近在练习代码 C# winform,考虑模拟做个ATM应用,大概功能就是存取款这些
主要的疑惑有是 界面的切换跳转

大概的流程:主菜单(点击存款)->读卡(手工输)->密码->显示余额->放钞(手动输入金额)->显示存款结果->主菜单(点返回)

我考虑了几种方式:
1、主菜单是主窗口,然后点击存款的时候show读卡界面,然后hide主菜单,在读卡中又再show密码输入界面 依次类推
这种方式的话最后交易结束如何把主菜单窗口显示呢?如果每个页面都hide那么怎么最后一起关闭呢? 因为再点一次存款又会new出一个新的...

2、想过把每个子界面加载到主程序的panel控件中,或者webkit.net通过加载html页面 但是不太清楚具体的代码实现

其实简单点的说 就是想实ATM那样可以一直下一页 也可撤销返回那种 有没有哪位大神给个demo学习下或者给提供个思路 谢谢了

壮哈苗的主页 壮哈苗 | 初学一级 | 园豆:195
提问于:2019-07-14 23:35
< >
分享
最佳答案
0

思路:使用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/

收获园豆:10
三人乐乐 | 老鸟四级 |园豆:4819 | 2019-07-15 09:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册