C#实现简单的汽车租赁系统

2019-12-30 12:25:40刘景俊

我们来分类看看其中的魅力代码:

1.租车的界面功能

01.租车按钮 

 


//点击租车触发的事件
  private void btn_zu_Click(object sender, EventArgs e)
  {
   //确保选中一行
   if(lvlist.SelectedItems.Count==0)
   
   {
    MessageBox.Show("请选中一行!");
    return;
   }
   //确保有人租车
   if (txt_name.Text=="")
   {
    MessageBox.Show("请输入姓名!");
    return;

   }
   //执行租车.
   //获取车牌号的值
   string carnum = lvlist.SelectedItems[0].Text;
   //根据车牌号获得此车对象
   Vehicle ve= vehicles[carnum];

   //直接把获得要租的信息放入rentvehicles集合

   rentvehicles.Add(carnum,ve);

   //删除原来的集合
   vehicles.Remove(carnum);

   //重新加载
   New(vehicles,lvlist);
   MessageBox.Show("租车成功");

02.刷新按钮


//刷新按钮
  private void btn_new_Click(object sender, EventArgs e)
  {
   //重新加载
   New(vehicles, lvlist);
  }

这里的刷新定义了一个方法,也就是动态加载ListView的方法(Nuw方法)

这个方法有两个参数,第一个参数传入车辆类型集合对象,第二个传入Listview的名字

这样的作用就是在租车和还车时都能使用此方法进行刷新,岂不妙哉!


 //动态加载listview的方法
  public void New(Dictionary<string,Vehicle> list,ListView lvlist) 
  {
   //初始化LIstviewItem对象
   ListViewItem listview = null;
    //清除Listview,以免有冲突的值
   lvlist.Items.Clear();
   foreach (Vehicle item in list.Values)
   {
    //判断赋值
    if (item is Car)
    {
     listview = new ListViewItem();
     listview.Text = item.LicenseNo;
     listview.SubItems.Add(item.Name);
     listview.SubItems.Add(item.Color);
     listview.SubItems.Add(item.RentDate.ToString());
     listview.SubItems.Add(item.DailyRent.ToString());
    }
    else if (item is Truck)
    {
     listview = new ListViewItem();
     listview.Text = item.LicenseNo;
     listview.SubItems.Add(item.Name);
     listview.SubItems.Add(item.Color);
     listview.SubItems.Add(item.RentDate.ToString());
     listview.SubItems.Add(item.DailyRent.ToString());
     listview.SubItems.Add(((Truck)item).Load.ToString());
    }
    //关联
    lvlist.Items.Add(listview);
   }
   
  }

2.还车的界面功能

01.选择结算按钮