📄 form1.cs
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace mcaoWinAppAdvance
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MainMenu mainMenu1;
private System.Windows.Forms.MenuItem menuItemOwnerDraw;
private System.Windows.Forms.MenuItem menuItemSunny;
private System.Windows.Forms.MenuItem menuItemRain;
private System.Windows.Forms.MenuItem menuItemSnow;
private System.Windows.Forms.ContextMenu MyContextMenu;
private System.Windows.Forms.MenuItem menuItem1;
private System.Windows.Forms.MenuItem menuItem2;
private System.Windows.Forms.MenuItem menuItem3;
private System.Windows.Forms.MenuItem menuItem4;
private System.Windows.Forms.MenuItem menuItem5;
private System.Windows.Forms.MenuItem menuItem6;
private System.Windows.Forms.MenuItem menuItem7;
private System.Windows.Forms.MenuItem menuItem8;
private System.Windows.Forms.MenuItem menuItem9;
private System.Windows.Forms.MenuItem menuItem11;
private System.Windows.Forms.MenuItem menuItem12;
private System.Windows.Forms.MenuItem menuItem13;
private System.Windows.Forms.MenuItem menuItem14;
private System.Windows.Forms.MenuItem menuItem15;
private System.Windows.Forms.MenuItem menuItem18;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.menuItemOwnerDraw = new System.Windows.Forms.MenuItem();
this.menuItemSunny = new System.Windows.Forms.MenuItem();
this.menuItemRain = new System.Windows.Forms.MenuItem();
this.menuItemSnow = new System.Windows.Forms.MenuItem();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.menuItem2 = new System.Windows.Forms.MenuItem();
this.menuItem3 = new System.Windows.Forms.MenuItem();
this.menuItem4 = new System.Windows.Forms.MenuItem();
this.menuItem5 = new System.Windows.Forms.MenuItem();
this.menuItem6 = new System.Windows.Forms.MenuItem();
this.menuItem7 = new System.Windows.Forms.MenuItem();
this.menuItem8 = new System.Windows.Forms.MenuItem();
this.menuItem9 = new System.Windows.Forms.MenuItem();
this.menuItem11 = new System.Windows.Forms.MenuItem();
this.menuItem12 = new System.Windows.Forms.MenuItem();
this.menuItem13 = new System.Windows.Forms.MenuItem();
this.MyContextMenu = new System.Windows.Forms.ContextMenu();
this.menuItem14 = new System.Windows.Forms.MenuItem();
this.menuItem15 = new System.Windows.Forms.MenuItem();
this.menuItem18 = new System.Windows.Forms.MenuItem();
//
// mainMenu1
//
this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItemOwnerDraw,
this.menuItem14,
this.menuItem11});
//
// menuItemOwnerDraw
//
this.menuItemOwnerDraw.Index = 0;
this.menuItemOwnerDraw.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItemSunny,
this.menuItemRain,
this.menuItemSnow});
this.menuItemOwnerDraw.Text = "自画图菜单";
//
// menuItemSunny
//
this.menuItemSunny.Index = 0;
this.menuItemSunny.OwnerDraw = true;
this.menuItemSunny.Text = "晴天";
this.menuItemSunny.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.menuItemSunny_DrawItem);
this.menuItemSunny.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.menuItemSunny_MeasureItem);
//
// menuItemRain
//
this.menuItemRain.Index = 1;
this.menuItemRain.OwnerDraw = true;
this.menuItemRain.Text = "下雨";
this.menuItemRain.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.menuItemRain_DrawItem);
this.menuItemRain.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.menuItemRain_MeasureItem);
//
// menuItemSnow
//
this.menuItemSnow.Index = 2;
this.menuItemSnow.OwnerDraw = true;
this.menuItemSnow.Text = "下雪";
this.menuItemSnow.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.menuItemSnow_DrawItem);
this.menuItemSnow.MeasureItem += new System.Windows.Forms.MeasureItemEventHandler(this.menuItemSnow_MeasureItem);
//
// menuItem11
//
this.menuItem11.Index = 2;
this.menuItem11.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem12,
this.menuItem13});
this.menuItem11.Text = "常用程序";
//
// menuItem12
//
this.menuItem12.Index = 0;
this.menuItem12.Text = "单文档编辑器";
this.menuItem12.Click += new System.EventHandler(this.menuItem12_Click);
//
// menuItem13
//
this.menuItem13.Index = 1;
this.menuItem13.Text = "多文档编辑器";
this.menuItem13.Click += new System.EventHandler(this.menuItem13_Click);
//
// MyContextMenu
//
this.MyContextMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1,
this.menuItem4,
this.menuItem5,
this.menuItem6});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem2,
this.menuItem3,
this.menuItem9});
this.menuItem1.Text = "Title";
//
// menuItem2
//
this.menuItem2.Index = 0;
this.menuItem2.Text = "Title1";
this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
//
// menuItem3
//
this.menuItem3.Index = 1;
this.menuItem3.Text = "Title2";
this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);
//
// menuItem9
//
this.menuItem9.Index = 2;
this.menuItem9.Text = "Restore";
this.menuItem9.Click += new System.EventHandler(this.menuItem9_Click);
//
// menuItem4
//
this.menuItem4.Index = 1;
this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem7,
this.menuItem8});
this.menuItem4.Text = "BackGroud";
//
// menuItem7
//
this.menuItem7.Index = 0;
this.menuItem7.Text = "red";
this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click);
//
// menuItem8
//
this.menuItem8.Index = 1;
this.menuItem8.Text = "restore";
this.menuItem8.Click += new System.EventHandler(this.menuItem8_Click);
//
// menuItem5
//
this.menuItem5.Index = 2;
this.menuItem5.Text = "-";
//
// menuItem6
//
this.menuItem6.Index = 3;
this.menuItem6.Text = "Exit";
this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);
//
// menuItem14
//
this.menuItem14.Index = 1;
this.menuItem14.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem15,
this.menuItem18});
this.menuItem14.Text = "控件使用";
//
// menuItem15
//
this.menuItem15.Index = 0;
this.menuItem15.Text = "分割窗口";
this.menuItem15.Click += new System.EventHandler(this.menuItem15_Click);
//
// menuItem18
//
this.menuItem18.Index = 1;
this.menuItem18.Text = "用户自定义控件";
this.menuItem18.Click += new System.EventHandler(this.menuItem18_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(488, 273);
this.ContextMenu = this.MyContextMenu;
this.Menu = this.mainMenu1;
this.Name = "Form1";
this.Text = "Windows应用的高级特性";
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
//本部分测试在菜单上自画图片
enum Weather
{
SUN = 0,RAIN,SNOW
};//菜单项索引
string[] WeatherName = {"SUN","RAIN","SNOW"};//菜单项文本
private void MyDrawMenuItems(Weather aWeather, System.Windows.Forms.DrawItemEventArgs e)
{
Graphics g = e.Graphics ;
Rectangle aRect = new Rectangle ();//绘制图标的矩形区域
aRect.X = e.Bounds .X ;
aRect.Y = e.Bounds .Y ;
aRect.Height = e.Bounds .Height ;
aRect.Width = e.Bounds .Height ;
if ((e.State & DrawItemState.Selected ) == DrawItemState.Selected )
{//判断菜单项是否被选中,填充不同颜色
g.FillRectangle (new SolidBrush (Color.Blue ),e.Bounds );
}
else
{
g.FillRectangle (new SolidBrush (this.BackColor ),e.Bounds );
}
Icon anIcon;//各菜单项使用的图标
anIcon = new Icon (WeatherName[(int)aWeather]+".ico");
g.DrawIcon (anIcon,aRect );//绘制图标,然后写菜单文本
g.DrawString (WeatherName[(int)aWeather],this.Font ,new SolidBrush (Color.Black ),e.Bounds.X +20,e.Bounds .Y );
}
private void menuItemSunny_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
MyDrawMenuItems(Weather.SUN ,e);
}
private void menuItemSunny_MeasureItem(object sender, System.Windows.Forms.MeasureItemEventArgs e)
{
//设置自画菜单项的尺寸
e.ItemWidth = 100;
e.ItemHeight = 16;
}
private void menuItemRain_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
MyDrawMenuItems(Weather.RAIN ,e);
}
private void menuItemRain_MeasureItem(object sender, System.Windows.Forms.MeasureItemEventArgs e)
{
//设置自画菜单项的尺寸
e.ItemWidth = 100;
e.ItemHeight = 16;
}
private void menuItemSnow_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
{
MyDrawMenuItems(Weather.SNOW ,e);
}
private void menuItemSnow_MeasureItem(object sender, System.Windows.Forms.MeasureItemEventArgs e)
{
//设置自画菜单项的尺寸
e.ItemWidth = 100;
e.ItemHeight = 16;
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
this.Text = "您现在测试的是上下文菜单中的第一项";
}
private void menuItem3_Click(object sender, System.EventArgs e)
{
this.Text = "您现在测试的是上下文菜单中的第二项";
}
private void menuItem6_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void menuItem7_Click(object sender, System.EventArgs e)
{
this.BackColor = Color.Red;
}
private void menuItem8_Click(object sender, System.EventArgs e)
{
this.BackColor = Color.LightGray;
}
private void menuItem9_Click(object sender, System.EventArgs e)
{
this.Text = "Windows应用的高级特性";
}
//调用另外一个窗口,用于单文档编辑
private void menuItem12_Click(object sender, System.EventArgs e)
{
SingleEditForm frmSingleEdit = new SingleEditForm( );
//frmSingleEdit.ShowDialog(this);
//frmSingleEdit.ShowDialog();
frmSingleEdit.Show();
}
//调用另外一个窗口,用于多文档编辑
private void menuItem13_Click(object sender, System.EventArgs e)
{
MultipleEditForm frmMultipleEditForm = new MultipleEditForm();
frmMultipleEditForm.ShowDialog(this);
}
//调用另外一个窗口,用于显示一些控件的使用方法,如分隔窗体、listview等
private void menuItem15_Click(object sender, System.EventArgs e)
{
ControlsForm frmControls = new ControlsForm( );
frmControls.ShowDialog(this);
}
private void menuItem18_Click(object sender, System.EventArgs e)
{
Form2 frmUserControlUsing = new Form2();
frmUserControlUsing.ShowDialog(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -