这里面需要调用座位颜色更新的一个方法UpdateSeat(),先将Seats集合和labels集合的颜色初始化,也就是重置颜色为黄色,再根据售出票集合的信息将售出座位的颜色置为红色
?
- //重置labels集合label的颜色 foreach (string lkey in labels.Keys)
- { labels[lkey].BackColor = Color.Yellow;
- } //重置座位集合颜色
- foreach (string key in cinema.Seats.Keys) {
- cinema.Seats[key].Color = Color.Yellow; }
- //遍历售出票集合 foreach (Ticket ticket in cinema.SoldTickets)
- { //如果场次一致,并且电影名字一致
- if (ticket.ScheduItem.Time == this.treeView1.SelectedNode.Text && ticket.ScheduItem.Movie.MovieName == this.lblName.Text) {
- //重新更改颜色 labels[ticket.Seat.SeatNum].BackColor = Color.Red;
- cinema.Seats[ticket.Seat.SeatNum].Color = Color.Red; }
- }
这样就实现了购买票后座位颜色状态的改变。
然后再根据选中的TreeView的时间(场次)节点刷新每场的中已经售出的票。
就是之前第二篇的treeView1_AfterSelect这个事件,调用我们的UpdateSeat方法就行了,这样每选择一个场次就会更新一次座位售出情况。
以上就是本文的全部内容,最后一篇文章《C#影院售票系统毕业设计(4)》继续实现对销售信息的本地保存、以及每次打开时载入上次的保存的销售信息,并对整个项目做整体总结。
希望小编整理的这一系列文章对大家的学习有所帮助,希望大家可以喜欢。
注:相关教程知识阅读请移步到c#教程频道。










