C#实现右键菜单的程序要点

x一、定义如下变量,用于标志当前图形缩放大小

private MenuItem Small1;

private MenuItem Small2;

private MenuItem Medium1;

private MenuItem Medium2;

private MenuItem Large;

二、向右键菜单的contextMenu1中增加菜单项

contextMenu1.MenuItems.Add("保存图形", new EventHandler(this.Right_Clicked));

contextMenu1.MenuItems.Add("打印图形", new EventHandler(this.Right_Clicked));

contextMenu1.MenuItems.Add("打印预览", new EventHandler(this.Right_Clicked));

Small1 = new MenuItem("60", new EventHandler(this.Right_Clicked));

Small2 = new MenuItem("70", new EventHandler(this.Right_Clicked));

Medium1 = new MenuItem("80", new EventHandler(this.Right_Clicked));

Medium2 = new MenuItem("90", new EventHandler(this.Right_Clicked));

Large = new MenuItem("100", new EventHandler(this.Right_Clicked));

Large.Checked = true ;

Large.DefaultItem = true ;

contextMenu1.MenuItems.Add( "缩放大小",(new MenuItem[]{ Small1,Small2,Medium1,Medium2, Large }) );

contextMenu1.MenuItems.Add("-");

contextMenu1.MenuItems.Add("关闭", new EventHandler(this.Right_Clicked));

三、增加右键菜单的事件处理程序

/// <summary>

/// 说明:弹出式菜单项处理程序

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void Right_Clicked(object sender, System.EventArgs e)

{

MenuItem miClicked = (MenuItem)sender;

string strMenu = ((MenuItem)sender).Text;

if (strMenu == "保存图形")

 {

GraphicSave();

}

else if (strMenu == "打印图形")

{

graphicPrint();

}

else if (strMenu == "打印预览")

{

prePrint();

}

else if (strMenu == "关闭")

{

 this.Close();

 }

else if (strMenu == "60")

{

 if (imagemap != null)

{

Large.Checked = false;

Small1.Checked = true;

Small2.Checked = false;

Medium1.Checked = false;

 Medium2.Checked = false;

curZoom = (double)60/100;

Invalidate();

}

}

else if (strMenu == "70")

 {

if (imagemap != null)

{

Large.Checked = false;

Small1.Checked = false;

Small2.Checked = true;

Medium1.Checked = false;

Medium2.Checked = false;

curZoom = (double)70/100;

Invalidate();

}

}

else if (strMenu == "80")

{

 if (imagemap != null)

{

Large.Checked = false;

Small1.Checked = false;

Small2.Checked = false;

 Medium1.Checked = true;

 Medium2.Checked = false;

curZoom = (double)80/100;

 Invalidate();

}

}

else if (strMenu == "90")

{

if (imagemap != null)

{

Large.Checked = false;

 Small1.Checked = false;

Small2.Checked = false;

Medium1.Checked = false;

Medium2.Checked = true;

curZoom = (double)90/100;

Invalidate();

}

}

else if (strMenu == "100")

{

if (imagemap != null)

{

Large.Checked = true;

Small1.Checked = false;

Small2.Checked = false;

Medium1.Checked = false;

Medium2.Checked = false;

curZoom = (double)100/100;

 Invalidate();

}

 }

else

 {

  return;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值