收銀員/庫管員系統(tǒng)主界面的制作
1:在Microsoft Excel中郑原,可以同時打開多個Excel文檔唉韭,而不需要新打開一個Excel窗口,這種應(yīng)用程序叫做MDI(多文檔界面)應(yīng)用程序犯犁。
2:在項目中使用MDI窗體時属愤,通常將一個MDI容器窗體作為父窗體,父窗體可以將多個子窗體包容在它的工作區(qū)之中酸役。MDI父窗體與其子窗體之間表現(xiàn)出如下的特性:
MDI的容器窗體(父窗體)必須且只能有一個春塌,它只能當容器使用,其客戶區(qū)用于顯示子窗體簇捍,客戶區(qū)不能接受鍵盤和鼠標事件只壳。
不要在容器窗體的客戶區(qū)加入控件,否則那些控件會顯示在子窗體中暑塑。
容器窗體的框架區(qū)可以有菜單吼句、工具欄和狀態(tài)欄等控件。
子窗體可以有多個事格,各個子窗體不必相同惕艳。
子窗體被顯示在容器窗體的客戶區(qū)之中,子窗體不可能被移出容器窗體的客戶區(qū)之外驹愚。
子窗體被最小化后,其圖標在容器窗體的內(nèi)部谁鳍,而不是在任務(wù)欄中绷柒。
子窗體可以單獨關(guān)閉涮因,但若關(guān)閉容器窗體养泡,子窗體隨同容器窗體一起被關(guān)閉澜掩。
(1/2)、MDI容器窗體
只要將窗體的IsMdiContainer屬性設(shè)置為True,它就是容器窗體点把。一種是在窗體的Load()事件中設(shè)置郎逃,一種是在屬性中設(shè)置:
this.IsMdiContainer=True;
容器窗體在顯示后褒翰,其客戶區(qū)是凹下的匀泊,等待子窗體顯示在下凹區(qū)各聘。不要在容器窗體的客戶區(qū)設(shè)計任何控件躲因。
(2/2)大脉、MDI子窗體
MDI子窗體就是一般的窗體镰矿,其上可以設(shè)計任何控件,此前設(shè)計過的任何窗體都可以作為MDI子窗體安疗。只要將某個窗體實例的MdiParent屬性設(shè)置到一個MDI父窗體荐类,它就是那個父窗體的子窗體玉罐,語法為:
窗體實例名.MdiParent=父窗體對象;
例如潘拨,下一段代碼編寫在一個MDI父窗體的某個事件處理程序中铁追,創(chuàng)建一個子窗體實例formChild1并將其顯示在MDI父窗體的客戶區(qū)中:
FormChild formChild1 = new FormChild();
formChild1.MdiParent = this;
formChild1.Show();
- 菜單欄的制作
NET提供了一個 menuStrip 控件琅束,使用戶能夠方便地創(chuàng)建菜單涩禀。
菜單欄(menuStrip)控件:
利用菜單條控件可以輕松地創(chuàng)建Office那樣的菜單艾船,在菜單條中可以添加菜單項(MenuItem)、組合框(ComboBox)和文本框(TextBox)
- 工具欄和狀態(tài)欄
工具欄及狀態(tài)欄上的按鈕和標簽的主要屬性和事件
C#中獲取當前日期和時間的方法:
// 獲取日期+時間?DateTime.Now.ToString(); // 默認格式的日期和時間
DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”); // 指定格式:2018-04-09 21:02:10?// 獲取日期?DateTime.Now.ToShortDateString(); // 默認日期格式?DateTime.Now.ToString(“yyyy-MM-dd”); //指定日期格式:2018-04-09?// 獲取時間?DateTime.Now.ToLongTimeString(); // 默認時間格式?DateTime.Now.ToString(“hh:mm:ss”); // 指定時間格式:09:02:10
3.Timer控件的屬性和事件
Timer控件浴井,計時器磺浙,用于需要按一定時間間隔周期性執(zhí)行某事件的場合徒坡,
是一個非可視化的控件喇完。
常用屬性和事件:
在主界面右下角顯示當前的日期和時間:
擴展練習(1):使用Timer控件實現(xiàn)計時器界面
擴展練習(2):使用Timer控件實現(xiàn)計時器界面
擴展練習(3):使用Timer控件實現(xiàn)開門動畫效果
THE ENDING.....
兩個已有項目進行合并
任務(wù):項目A和項目B防楷,將B的窗口合并到A項目中去
方法一:
以項目A為基礎(chǔ),將項目B的內(nèi)容在項目A重新實現(xiàn)一遍
任務(wù):項目A和項目B冲簿,將B的窗口合并到A項目中去
方法二(提前做好項目A和B的備份峦剔,防止合并出錯):
第1步:將項目B的窗口源文件(每個窗口三個文件)拷貝到項目A的代碼目錄中
第2步:在項目A中引入拷貝過來的新窗口(選擇MainForm.cs即可導入MainForm窗口)
第3步:整個解決方案替換成項目A的namespace
- 兩個窗口傳值
任務(wù)描述:在LoginForm中點擊登錄按鈕,進入MainForm递礼,同時隱藏LoginForm宰衙。登錄用戶名傳遞到MainForm中顯示供炼。
實現(xiàn):在LoginForm的登錄方法中袋哼,添加如下代碼:
- 根據(jù)角色進入不同的主窗口
界面參考設(shè)計:
收銀員
庫管員