机房重构马上结束了,当时觉得难的部分也一一弄懂,现在看来不算什么,这个时间就想要实现一下自己的小想法。对于一个界面来说,简洁是最好的,所以就有了一个想法,上下机按钮可否用一个来实现呢?
说干就干,其实不难,代码如下:
private void button7_Click(object sender, EventArgs e) { if (button7.Text=="上机") { //实例化上线外观层 Facade.OnLineFacade2 open = new Facade.OnLineFacade2(); //将用户名传值 online.CardNo = LoginUser.UserID; online.Computer= Environment.MachineName; online.OnDate = DateTime.Now.ToShortDateString().ToString(); online.OnTime = DateTime.Now.ToShortTimeString().ToString(); lblOntime.Text = DateTime.Now.ToShortTimeString().ToString(); //调用外观层方法进行逻辑判断 string message = open.Open(online); //提示框显示 if (message == "上机成功") { timer1.Start(); timer2.Start(); MessageBox.Show("上机成功!", "温馨提示"); button7.Text = "下机"; } if (message == "此卡号正在上机") { MessageBox.Show("此卡号正在上机!", "温馨提示"); } } else if (button7.Text == "下机") { string status = "正常下机"; //调用下机封装类 OffLineUI.OffLine(Convert.ToInt32(txttime.Text), Convert.ToDecimal(tcosumercash.Text), Convert.ToDecimal(lblCash.Text), status); //计时器停止 timer1.Stop(); tcosumercash.Text = "00"; lblOffTime.Text = DateTime.Now.ToShortTimeString().ToString(); if (OffLineUI.async1 == true) { MessageBox.Show("下机成功!", "温馨提示"); button7.Text = "上机"; } } }
根据对button的text值的赋值,结合if else的判断,很简单的实现了这个功能。其中一个很值得注意的点是:C#中“=”和“==”的区别