C#开发案例精粹
上QQ阅读APP看书,第一时间看更新

bt2-L 实例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   }

举一反三

根据本实例,读者可以实现以下功能。

制作一个系统菜单。

制作大型系统的导航界面。