。Net 小項目電影院
心得體會
-
所用到的功能和知識點:要學會設計整個項目的業務需求,需要哪些功能,從大功能到小功能一一細分,並用概念圖一一畫出來。做項目的要站在客戶的角度來設計製作項目的功能和需求,例如做的時候,友好的提示,上一頁下一頁,功能首先要流暢,確保絕對不會報錯,和出現bug
-
功能: 關閉主窗口,退出登錄,登陸,註冊,登陸成功後,要顯示賬戶餘額, 和用戶名,購物車功能,還有馬上要觀看的電影快開始的時候一個友好提示,就像坐車一樣,會有人叫你一下,以及下次做可以加個語音功能!自己播報。一個輪播圖,下面是電影分類,各個類型的,右邊是正在上映和最近上映,利用的知識點呢,主要是控件的自動生成。有一個小遊戲,抽獎優惠的塞子游戲,
-
下面是動態的獲得圖片的一個路徑。
Array[0] = Application.StartupPath+@"\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]; -
//電影座位的一個動態生成代碼如下:
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