private void btn_ji_Click(object sender, EventArgs e)
{
//确保 是否输入天数
if (txt_day.Text=="")
{
MessageBox.Show("请输入天数");
return;
}
//确保是否选中一行
if (lvlist_huan.SelectedItems.Count==0)
{
MessageBox.Show("请选择一行");
return;
}
//获取车牌号的值
string carnum1 = lvlist_huan.SelectedItems[0].Text;
//根据车牌号获得对应的车辆对象
Vehicle ve = rentvehicles[carnum1];
//获取租的天数
int num = Convert.ToInt32(txt_day.Text);
//给属性使用天数赋值
ve.ReturnDate = num;
//调用计算方法(多态的应用)
double money=ve.GetNum();
DialogResult result= MessageBox.Show("你要支付"+money+"元","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if (result==DialogResult.OK)
{
//直接把获得要还的信息放入vehicles集合
vehicles.Add(carnum1, ve);
//删除原来的集合
rentvehicles.Remove(carnum1);
//重新加载
New(rentvehicles, lvlist_huan);
MessageBox.Show("还车成功");
}
}
02.刷新按钮(调用租车时写的方法)
private void button1_Click(object sender, EventArgs e)
{
//加载已出租车辆信息
New(rentvehicles,lvlist_huan);
}
3.新车入库界面功能
01.入库按钮
//入库按钮点击事件
private void btn_ruku_Click(object sender, EventArgs e)
{
if (Good())//判断填写是否正确
{
//车牌号是唯一的,不能重复添加已有的车牌号
foreach (string item in vehicles.Keys)
{
if (txt_id.Text==item)
{
MessageBox.Show("此车牌已经有库存了,请你确认!");
return;
}
}
//使用"简单工厂",进行对应添加
Vehicle ve = null;
if (rdb_jiao.Checked == true)
{
ve = VehicleFactory.Carteshow(txt_id.Text, txt_xing.Text, cmb_color.Text,Convert.ToInt32(txt_time.Text), Convert.ToDouble(txt_money.Text), Convert.ToInt32(txt_zhong.Text), rdb_jiao.Text);
}
else
{
ve = VehicleFactory.Carteshow(txt_id.Text, txt_xing.Text, cmb_color.Text, Convert.ToInt32(txt_time.Text), Convert.ToDouble(txt_money.Text), Convert.ToInt32(txt_zhong.Text), rdb_ka.Text);
}
//添加集合
vehicles.Add(txt_id.Text, ve);
MessageBox.Show("入库成功");
//清空所要填的值选项
txt_id.Text="";
txt_xing.Text="";
cmb_color.Text="";
txt_time.Text="";
txt_money.Text= "";
txt_zhong.Text = "";
}
else
{
MessageBox.Show("请完善信息的填写!");
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助。










