使用菜单、工具栏来改变窗口的大小与颜色
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用菜单、工具栏来改变窗口的大小与颜色
10、WinForms高级编程
目标
创建一个更改窗口的大小与颜色的应用程序。创建一个单文档的文本编辑器应用程序。指导教师讲解阶段目标
第一部分指导(60分钟)
练习1:使用菜单、工具栏来改变窗口的大小与颜色
问题
主菜单、快捷菜单、工具栏和状态栏的应用实例
指导教师讲解问题说明
用户在窗体上单击右键,弹出图示的快捷菜单。执行其中的颜色命令可产生与主菜单中相应命令等效的结果。某命令执行时菜单项左侧带有"?"标记。再次执行该菜单命令取消相应的颜色及菜单项左侧的"?"标记,将颜色恢复为背景色。执行快捷菜单中的"红"命令,然后再次打开快捷菜单后,如图1.2所示。
图1.1默认窗体背景色
图1.2红色背景色
分析
指导教师分析解题思路
添加工具栏和状态栏后,窗体的界面设计如图1.3所示。主要用到了这些控件:MenuStrip,Context MenuStrip,ToolStrip,StatusStrip。
图1.3窗体设计界面
推荐步骤:
(1)创建Windows应用项目。
(2)按照设计界面添加相应的控件,并在主菜单和快捷菜单中添加相应的菜单项;并添加相应的点击处理事件函数。
(3)完整的代码如下:
using System;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace menuToolStatus{
public partial class Form1:Form
{
public Form1()
{
InitializeComponent();
}
private void MenuItem_default_Click(object sender,EventArgs e)
{
this.BackColor=Control.DefaultBackColor;
MenuItem_default.CheckState=CheckState.Indeterminate;
cMenuItem_default.CheckState=CheckState.Indeterminate;
MenuItem_blue.Checked=MenuItem_green.Checked=MenuItem_red.Checked=false ;
cMenuItem_blue.Checked=cMenuItem_green.Checked=cMenuItem_red.Checked=fal se;
StatusLabel3.Text="默认颜色";
}
private void cMenuItem_default_Click(object sender,EventArgs e)
{
MenuItem_default_Click(sender,e);
}
private void MenuItem_red_Click(object sender,EventArgs e)
{
MenuItem_red.Checked=!MenuItem_red.Checked;
if(MenuItem_red.Checked)
{
this.BackColor=Color.Red;
MenuItem_red.CheckState=CheckState.Indeterminate;
cMenuItem_red.CheckState=CheckState.Indeterminate;
MenuItem_blue.Checked=MenuItem_green.Checked=MenuItem_default.Checked=
false;
cMenuItem_blue.Checked=cMenuItem_green.Checked=cMenuItem_default.Checked =
false;
StatusLabel3.Text="红色";
}
else
{
this.BackColor=Control.DefaultBackColor;
MenuItem_default.CheckState=CheckState.Indeterminate;
cMenuItem_default.CheckState=CheckState.Indeterminate;
StatusLabel3.Text="默认颜色";
}
}
private void cMenuItem_red_Click(object sender,EventArgs e)
{
MenuItem_red_Click(sender,e);
}
private void MenuItem_green_Click(object sender,EventArgs e)
{
MenuItem_green.Checked=!MenuItem_green.Checked;
{
this.BackColor=Color.Green;
MenuItem_green.CheckState=CheckState.Indeterminate;
cMenuItem_green.CheckState=CheckState.Indeterminate;
MenuItem_blue.Checked=MenuItem_red.Checked=MenuItem_default.Checked= false;
cMenuItem_blue.Checked=cMenuItem_red.Checked=cMenuItem_default.Checked= false;
StatusLabel3.Text="绿色";
}
else
{
this.BackColor=Control.DefaultBackColor;
MenuItem_default.CheckState=CheckState.Indeterminate;
cMenuItem_default.CheckState=CheckState.Indeterminate;
StatusLabel3.Text="默认颜色";
}
}
private void MenuItem_blue_Click(object sender,EventArgs e)
{
MenuItem_blue.Checked=!MenuItem_blue.Checked;