当前位置:文档之家› 实验三,菜单,工具栏与状态栏应用

实验三,菜单,工具栏与状态栏应用

实验三、菜单、工具栏与状态栏应用一、实验内容设计一个应用程序,使用菜单实现运行界面大小的改变、透明度和背景颜色的改变;并使用工具按钮实现响应界面大小、颜色改变,使用上下文菜单实现界面大小的改变;使用状态栏实现界面大小的改变、透明度和背景颜色的改变的三种信息。

二、实验步骤1、设计程序界面新建一个C#.NET项目,向窗体中添加一个主菜单控件,并依次添加子菜单项,如图3-1所示;添加一个上下文菜单,实现调整窗体大小的功能,菜单项如图3-2所示;添加工具栏控件及按钮,状态栏及状态面板,以及用于图标显示的imageList1控件(图片由用户自己准备;.NET2005 版中不需要imageList1控件,直接在工具栏控件ToolStrip的Items属性集的Image属性中设置)。

适当调整各控件的大小及位置。

程序界面设计如图3-3所示(特别说明:以下所有图示是在2003版下完成的)注意:不同C# 版本中的控件名及属性名、事件均有差别,详见下表:图3-1 主菜单设计图3-2 上下文菜单设计图3-3 程序界面设计2、设置对象属性为了在工具按钮上显示图标,设置imageList1的Images图标,并设置工具栏toolBar1的ImageList 属性值为imageList1,为工具按钮“红色”、“绿色”、“兰色”、“黄色”、“紫色”分别设置ImageIndex 属性为0、1、2、3、4,以便显示图标。

为状态栏设置3个状态面板,分别用于显示窗体大小、背景颜色以及透明度。

其他控件的属性设置见图3-1、图3-2、图3-3。

3、编写事件代码菜单“窗体”中子菜单项“大”有3种情况。

实现窗体运行中显示为设计时窗体3倍的代码如下:private void menuItem15_Click(object sender, System.EventArgs e){this.Size=new Size(900,600);menuItem15.Checked=true; // 设置选中状态为真menuItem16.Checked=false;menuItem17.Checked=false;menuItem3.Checked=false;menuItem4.Checked=false;statusBarPanel1.Text="3倍大小"; // 在状态栏中显示窗体的大小}实现窗体运行中显示为设计时窗体2倍的代码如下:private void menuItem16_Click(object sender, System.EventArgs e){this.Size=new Size(600,400);menuItem15.Checked=false;menuItem16.Checked=true;menuItem17.Checked=false;menuItem3.Checked=false;menuItem4.Checked=false;statusBarPanel1.Text="2倍大小";}实现窗体运行中显示为设计时窗体1.5倍的代码如下:private void menuItem17_Click(object sender, System.EventArgs e){menuItem16.Checked=false;menuItem17.Checked=true;menuItem3.Checked=false;menuItem4.Checked=false;statusBarPanel1.Text="1.5倍大小";}菜单“窗体”中子菜单项“中”窗体的实现代码如下:private void menuItem3_Click(object sender, System.EventArgs e){this.Size=new Size(500,500);menuItem15.Checked=false;menuItem16.Checked=false;menuItem17.Checked=false;menuItem3.Checked=true;menuItem4.Checked=false;statusBarPanel1.Text="窗体中";}菜单“窗体”中子菜单项“小”窗体的实现代码如下:private void menuItem4_Click(object sender, System.EventArgs e){this.Size=new Size(200,200);menuItem15.Checked=false;menuItem16.Checked=false;menuItem17.Checked=false;menuItem3.Checked=false;menuItem4.Checked=true;statusBarPanel1.Text="窗体小";}菜单“窗体”中子菜单项“透明度”的两种情况,一种为半透明状态,一种为不透明状态。

不透明的窗体实现代码如下:private void menuItem7_Click(object sender, System.EventArgs e){this.Opacity=1; // 设置窗体运行时是不透明的menuItem7.Checked=true;menuItem8.Checked=false;statusBarPanel3.Text="窗体不透明"; // 状态栏中显示当前窗体的透明状态}半透明的窗体实现代码如下:private void menuItem8_Click(object sender, System.EventArgs e){this.Opacity=.5;statusBarPanel3.Text="窗体半透明";}在菜单项“背景色”中将窗体的背景色改为“红色”的代码如下:private void menuItem10_Click(object sender, System.EventArgs e) {this.BackColor=Color.Red;menuItem10.Checked=true;menuItem11.Checked=false;menuItem12.Checked=false;menuItem13.Checked=false;menuItem14.Checked=false;statusBarPanel2.Text="窗体为红色";}在菜单项“背景色”中将窗体的背景色改为“绿色”的代码如下:private void menuItem11_Click(object sender, System.EventArgs e) {this.BackColor=Color.Green;menuItem11.Checked=true;menuItem10.Checked=false;menuItem12.Checked=false;menuItem13.Checked=false;menuItem14.Checked=false;statusBarPanel2.Text="窗体为绿色";}在菜单项“背景色”中将窗体的背景色改为“兰色”的代码如下:private void menuItem12_Click(object sender, System.EventArgs e) {this.BackColor=Color.Blue;menuItem12.Checked=true;menuItem10.Checked=false;menuItem11.Checked=false;menuItem13.Checked=false;menuItem14.Checked=false;statusBarPanel2.Text="窗体为兰色";}在菜单项“背景色”中将窗体的背景色改为“黄色”的代码如下:private void menuItem13_Click(object sender, System.EventArgs e) {this.BackColor=Color.Yellow;menuItem13.Checked=true;menuItem11.Checked=false;menuItem14.Checked=false;statusBarPanel2.Text="窗体为黄色";}在菜单项“背景色”中将窗体的背景色改为“紫色”的代码如下:private void menuItem14_Click(object sender, System.EventArgs e){this.BackColor=Color.Purple;menuItem14.Checked=true;menuItem11.Checked=false;menuItem12.Checked=false;menuItem13.Checked=false;menuItem10.Checked=false;statusBarPanel2.Text="窗体为紫色";}菜单上“退出”的实现代码如下:private void menuItem18_Click(object sender, System.EventArgs e){this.Close();}设置工具栏实现工具按钮的功能,2003版中的代码如下:(说明:2003版中是为整个工具栏的ButtonClick事件编程,而2005版中是为工具栏的每个Button按钮的Click事件编程,这时就不需要用下面的if语句来判断了)private void toolBar1_ButtonClick(object sender,System.Windows.Forms.ToolBarButtonClickEventArgs e){if(e.Button==toolBarButton1){this.Size=new Size(600,600);statusBarPanel1.Text="窗体大";}if(e.Button==toolBarButton2){statusBarPanel1.Text="窗体中";this.Size=new Size(500,500);}if(e.Button==toolBarButton3){this.Size=new Size(200,200);statusBarPanel1.Text="窗体小";}if(e.Button==toolBarButton5)statusBarPanel2.Text="窗体为红色";this.BackColor=Color.Red;}if(e.Button==toolBarButton6){statusBarPanel2.Text="窗体为绿色";this.BackColor=Color.Green;}if(e.Button==toolBarButton7){statusBarPanel2.Text="窗体为兰色";this.BackColor=Color.Blue;}if(e.Button==toolBarButton8){this.BackColor=Color.Yellow;statusBarPanel2.Text="窗体为黄色";}if(e.Button==toolBarButton9){this.BackColor=Color.Purple;statusBarPanel2.Text="窗体为紫色";}}在上下文菜单中实现窗体的大(3倍)、中、小,各个菜单项的click事件代码与主菜单中相应菜单项的click事件代码相同。

相关主题