小型电影院

。Net 小项目电影院
心得体会

  1. 所用到的功能和知识点:要学会设计整个项目的业务需求,需要哪些功能,从大功能到小功能一一细分,并用概念图一一画出来。做项目的要站在客户的角度来设计制作项目的功能和需求,例如做的时候,友好的提示,上一页下一页,功能首先要流畅,确保绝对不会报错,和出现bug

  2. 功能: 关闭主窗口,退出登录,登陆,注册,登陆成功后,要显示账户余额, 和用户名,购物车功能,还有马上要观看的电影快开始的时候一个友好提示,就像坐车一样,会有人叫你一下,以及下次做可以加个语音功能!自己播报。一个轮播图,下面是电影分类,各个类型的,右边是正在上映和最近上映,利用的知识点呢,主要是控件的自动生成。有一个小游戏,抽奖优惠的塞子游戏,

  3. 下面是动态的获得图片的一个路径。
    Array[0] = [email protected]"\image\one.png";
    Array[1] = Application.StartupPath + @"\image\two.png";
    Array[2] = Application.StartupPath + @"\image\three.png";
    Array[3] = Application.StartupPath + @"\image\four.png";
    Array[4] = Application.StartupPath + @"\image\five.png";
    Array[5] = Application.StartupPath + @"\image\six.png";
    this.pb1.ImageLocation = this.pb2.ImageLocation = this.pb3.ImageLocation = Array[index];

  4. //电影座位的一个动态生成代码如下:
    public void GetLabel()
    {
    for (int i = 0; i < 6; i++)
    {
    for (int k = 0; k < 7; k++)
    {
    label = new Label();
    label.BackColor = Color.Yellow;
    label.ForeColor = Color.Blue;
    label.Font = new System.Drawing.Font(“宋体”, 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
    label.AutoSize = false;
    label.Size = new System.Drawing.Size(40, 20);
    label.Text = (k + 1).ToString() + “-” + (i + 1).ToString();
    label.TextAlign = ContentAlignment.MiddleCenter;
    label.Location = new Point(45 + (i * 60), 45 + (k * 60));
    label.Click += new System.EventHandler(label_Click);
    this.Controls.Add(label);
    labels.Add(label);
    seat = new CienmaSeat();
    seat.SeatNumber = (k + 1).ToString() + “-” + (i + 1).ToString();
    seat.Colors = Color.Yellow.ToString();
    seats.Add(seat);
    }
    }
    }
    整个电影院分为几个窗体页面:
    1.主页面窗体,2.电影详细信息窗体,(提前用xml文件把电影信息储存好,因为我们没有数据库,便于读取电影信息) 3.选座购票的窗体,还有一个我的购物车的窗体。
    类的创建思路,一个完整的项目要有基本完整的功能,联系我们,联系到自己的qq号,或者寻求帮助,最重要的要留后手,也就是所谓的客服咨询对象,一些好的建议。比如说我可以发到我的qq邮箱里面。我们创建了三个类,User 类 里面包含了电影的集合,电影类 包含了座位的类集合。程序一运行,就读取默认用户的信息,也就是我们只有在选座位时才登陆,或是一开始登陆这个时候才需要调用默认信息,而我们应该有一个所有电影的集合,方便调用,并且所有的label picture 的click事件全部要调用,并且要用其隐藏值Tag 储存该电影的名字,另外时一个预告片的播放:这个是用的winform插件 点击工具箱-右键所有windows窗体-点击选择项-点击cmd插件-选择 windows media player 勾选来实现视频文件,另外controls 控件,是播放暂停等功能~
    public void Initial()
    {
    foreach (Movie item in mdi.frm.movie1)
    {
    if (item.MovieName == mdi.MovieNames)
    {
    MoviePath.URL = item.MovieVideo; //获得视频路径 直接可以播放
    MoviePath.Ctlcontrols.stop(); //播放暂停的控件

             }
             
         }
     }
    

另外座位是通过座位的点击事件(label)颜色 来判断是否已售出,已选择,以及是否要退票,变颜色可以遍历所有控件判断是否为label 控件,所以很多时候可以直接用一个面板把所有的控件放上去,用来限制搜索的范围!!

                foreach (Control cc in Controls)
        {
            if (cc is Label)
            {
                foreach (Label item in labels)
                {
                    if (cc.Text == item.Text)
                    {
                        cc.BackColor = Color.Yellow;
                        mySeat.Clear();
                        this.lblMovieSeat1.Text = "";
                        this.lblTotalPrice1.Text = "";
                    }
                }
            }
        }

另外是自己这次做项目的心得体会 :
小型电影院

下面是我们这次小组的项目基本外观和功能项:
小型电影院
小型电影院
小型电影院
小型电影院

北大青鸟 Lynns