實例004 帶導航菜單的主界面
實例說明
在窗體中,菜單欄是不可缺少的重要組成部分。本實例使用其他控件來制作一個模擬菜單欄。運行本實例后,單擊窗體上面的按鈕,將會在按鈕的下面顯示一個下拉列表,如圖1.4所示。

圖1.4 帶導航菜單的主界面
技術要點
該實例主要使用Button控件和ListView控件制作導航菜單界面。在對ListView控件添加菜單信息時,必須在前面寫入添加語句,例如ListView.Items.Add,否則添加的菜單信息將替換前一條信息。單擊相應的按鈕時,應首先對ListView控件進行清空,否則在ListView控件中將顯示上一次的菜單信息。
實現過程
01 新建一個項目,將其命名為Navigation,默認窗體為Form1。
02 在Form1窗體上添加MenuStrip控件,用來設計菜單欄;添加ToolStrip控件,用來設計工具欄;添加SplitContainer控件、ImageList控件、3個Button控件和ListView控件,用來設計左側的導航欄。
03 分別為MenuStrip控件、ToolStrip控件添加子項,將3個Button控件和ListView控件加入SplitContainer1.panel的左側部分。
04 主要代碼。
加載窗體時,設置左側導航欄內容的實現代碼:
01 private void Form1_Load(object sender, EventArgs e)
02 {
03 listView1.Clear();//清空listView1中的原有內容
04 listView1.LargeImageList = imageList1;//設置當前項以大圖標形式顯示時用到的圖像
05 //向listView1中添加項"設置上下班時間"
06 listView1.Items.Add("設置上下班時間", "設置上下班時間", 0);
07 //向listView1中添加項"是否啟用短信提醒"
08 listView1.Items.Add("是否啟用短信提醒", "是否啟用短信提醒", 1);
09 listView1.Items.Add("設置密碼", "設置密碼", 2);//向listView1中添加項"設置密碼"
10 }
添加“打開”按鈕的ListView控件顯示內容的實現代碼如下:
01 private void button2_Click_1(object sender, EventArgs e)
02 {
03 listView1.Dock = DockStyle.None; //設置listView1的綁定屬性為未綁定
04 button2.Dock = DockStyle.Top; //設置button2的綁定屬性為上端綁定
05 button1.SendToBack();//將button1控件設置為最底層顯示
06 button1.Dock = DockStyle.Top; //設置button1的綁定屬性為上端綁定
07 button3.Dock = DockStyle.Bottom; //設置button3的綁定屬性為底端綁定
08 listView1.Dock = DockStyle.Bottom;//設置listView1的綁定屬性為底端綁定
09 listView1.Clear();//清空listView1中的原有內容
10 //向listView1中添加項"近期工作記錄"
11 listView1.Items.Add("近期工作記錄", "近期工作記錄", 3);
12 //向listView1中添加項"近期工作計劃"
13 listView1.Items.Add("近期工作計劃", "近期工作計劃", 4);
14 }
舉一反三
根據本實例,讀者可以實現以下功能。
◇ 制作一個系統菜單。
◇ 制作大型系統的導航界面。
推薦閱讀
- C++面向對象程序設計(第三版)
- 劍指Offer(專項突破版):數據結構與算法名企面試題精講
- C和C++安全編碼(原書第2版)
- Raspberry Pi for Secret Agents(Third Edition)
- 面向STEM的Scratch創新課程
- Learning OpenStack Networking(Neutron)
- Visual C++開發入行真功夫
- C++從入門到精通(第6版)
- Learning Nessus for Penetration Testing
- DB2SQL性能調優秘笈
- Groovy 2 Cookbook
- 計算機系統解密:從理解計算機到編寫高效代碼
- Getting Started with RethinkDB
- 系統分析師UML用例實戰
- Developing RESTful Web Services with Jersey 2.0