private void 文件ToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("打开测试");
//Close();
} private void button1_Click(object sender, EventArgs e)
{
//表示 System.Windows.Forms.MenuStrip 或 System.Windows.Forms.ContextMenuStrip 上显示的可选选项。 尽管 System.Windows.Forms.ToolStripMenuItem 替换了早期版本的 System.Windows.Forms.MenuItem 控件并添加了功能;但是也可选择保留 System.Windows.Forms.MenuItem 以备向后兼容和将来使用。
ToolStripMenuItem ms =(ToolStripMenuItem)menuStrip1.Items[];//获取菜单项
foreach (ToolStripItem item in ms.DropDownItems)
{
item.Enabled = true;
item.Font=new Font("楷体",,FontStyle.Bold);
}
} private void button2_Click(object sender, EventArgs e)
{
ToolStripMenuItem ms = (ToolStripMenuItem) menuStrip1.Items[];
foreach (ToolStripMenuItem item in ms.DropDownItems)
{
item.Enabled = false;
} } private void Form1_Load(object sender, EventArgs e)
{
//创建级联菜单 每一个菜单项都是一个ToolStripMnubItem对象
ToolStripMenuItem ms =(ToolStripMenuItem)menuStrip1.Items[];
ToolStripMenuItem ts1=new ToolStripMenuItem("关闭文件选项");
//ToolStripMenuItem ts2=new ToolStripMenuItem("关闭文件选项");
//ToolStripMenuItem ts3=new ToolStripMenuItem("关闭所有选项");
ToolStripMenuItem[]ts=new ToolStripMenuItem[]
{
new ToolStripMenuItem("关闭文件选项"),
new ToolStripMenuItem("关闭所有选项")
};
ms.DropDownItems.Add(ts1);
ms.DropDownItems.AddRange(ts);
}

MSDN:http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.forms.menustrip(v=vs.90).aspx

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO; namespace _274ContextMenuStrip
{
public partial class Form1 : Form
{
private string address;
public Form1()
{
InitializeComponent();
address = Environment.CurrentDirectory;//记录地址
}
private void 打开新窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 fm=new Form2();
fm.MdiParent = this;
fm.Show();
fm.Resize+=new EventHandler(f_Resize);
} void f_Resize(object sender,EventArgs e)
{
Form2 fm = (Form2)sender;//将Form2作为对象传进来
ToolStripMenuItem item = new ToolStripMenuItem();
for (int i = ; i < fm.contextMenuStrip1.Items.Count; )
{
item.DropDownItems.Add(fm.contextMenuStrip1.Items[i]);//添加鼠标右键
}
this.contextMenuStrip2.Items.AddRange(
new System.Windows.Forms.ToolStripItem[] { item }
);
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(sender.ToString());//测试验证 sender对象
} private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
} private void 关闭所有ToolStripMenuItem_Click(object sender, EventArgs e)
{ } private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "*.jpg";//限定打开文件类型
openFileDialog1.ShowDialog();//弹出选择对话框
StreamWriter s=new StreamWriter(address+"\\History.ini",true);//初始化新实例
s.WriteLine(openFileDialog1.FileName);//写入
s.Flush();//清除流
s.Close();//关闭流
ShowWindows(openFileDialog1.FileName);
} private void ShowWindows(string fileName)
{
Image p = Image.FromFile(fileName);
Form f=new Form();
f.MdiParent = this;
f.BackgroundImage = p;
f.Show();
} private void Form1_Load(object sender, EventArgs e)
{
this.IsMdiContainer = true; 文件ToolStripMenuItem.DropDownItems[].Image = imageList1.Images[]; using (StreamReader sr = new StreamReader(address + "\\History.ini"))//创建流读取器对象
{
int i = 文件ToolStripMenuItem.DropDownItems.Count - ;//得到菜单项索引
while (sr.Peek() >= )//循环读取流中的文本
{
ToolStripMenuItem menuItem = new ToolStripMenuItem(sr.ReadLine());//创建菜单项对象
this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuItem);//向菜单中添加新项
i++;//增加索引位置
menuItem.Click += new EventHandler(menuItem_Click);//添加单击事件
}
}
} private void menuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = (ToolStripMenuItem) sender;
ShowWindows(menu.Text);
} private void acToolStripMenuItem_Click(object sender, EventArgs e)
{ } }
}

MenuItem的更多相关文章

  1. [WPF]MenuItem右侧空白

    <Window> <Grid Background="SteelBlue"> <Grid.ContextMenu> <ContextMen ...

  2. WPF:设置MenuItem多种不同状态图标

    需求描述: 给MenuItem内部的子Image设置默认图标(鼠标leave).鼠标hover图标.和选中时的图标. 注:是给Menu内个别MenuItem修改,并且是弹出子菜单. 问题描述: 1)前 ...

  3. unity3d拓展编辑器MenuItem的使用

    MenuItem是自定义菜单栏显示 比如:[MenuItem("new/My Window")] 这样就会显示菜单new/My Window 把这个放在一个静态方法上就可以了.记住 ...

  4. WPF MenuItem 四种角色分析

    Menu Menu的样式很简单,就是顶部的那个框,如下图     而其中的文字“文件”“图形”...是属于MenuItem的,要灵活使用MenuItem,就需要了解MenuItem.Role的作用 T ...

  5. WPF:MenuItem样式

    基础信息 1.MenuItem 样式 <Window.Resources> <Style TargetType="{x:Type MenuItem}"> & ...

  6. wpf mvvm MenuItem的Command事件

    这是一个事件的辅助类,可以通过它实现MenuItem的Command事件 public class MyCommands : Freezable, ICommand, ICommandSource { ...

  7. Menu MenuItem

    Menu & MenuItem learning note Menu MenuItem MSDN Sample Code <Menu Grid.Row="0" Hor ...

  8. EditorWindow 和MenuItem

    using UnityEngine; using System.Collections; using UnityEditor; public class ClipEventEditor : Edito ...

  9. 利用HTML 5中的Menu和Menuitem元素快速创建菜单

    原文:Introducing the HTML5 “Menu” and “Menuitem” Elements 译文:HTML 5中Menu和Menuitem的元素介绍 译者:dwqs 今天向你介绍H ...

随机推荐

  1. iOS之上线被拒

    前言 感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与报酬的角度而言,这对于成千上万的开发员来说一直都是一项值得投入的事业,我们希望帮助您加入这个成功的组织.我们发布了<App Sto ...

  2. Java Bean validation specification...

    http://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/index.html

  3. 在vs环境中跑动sift特征提取(原理部分)

    /* 如果给两张图片,中间有相似点.要求做匹配.怎么做.我现在能讲么?   比如给了两幅图片,先求出sift点.   尺度空间极值检测.高斯模糊 关键点定位 关键点方向确定 关键点描述   kdtre ...

  4. 移植最新u-boot(裁剪和修改默认参数)之韦东山笔记

    1.下载.建立source insight工程.编译.烧写.如果无运行分析原因 tar xjf u-boot-2012.04.01.tar.bz2 cd u-boot-2012.04.01 make ...

  5. [改善Java代码]子列表只是原列表的一个视图

    List接口提供了subList方法,其作用是返回一个列表的子列表.这与String类的subString有点类似.但是他们的功能是否相同?看代码: import java.util.ArrayLis ...

  6. Python内存解析浅学

    1.内存管理 首先理解变量,和内存特性 1.       Python中无须声明变量, 2.       无须指定类型 3.       不用关心内存管理 4.       变量名会被回收 5.    ...

  7. link与@import区别

    1. link属于XHTML标签,@import是css提供的. 2.link在页面加载时加载,@import引用的css等到页面被加载完加载. 3.@import只在IE5以上可用,link无兼容问 ...

  8. Servlet & JSP - 中文字符问题

    Servlet 中的中文字符 来自 URL 参数部分的中文字符 Tomcat 默认接收数据的编码是 ISO-8859-1.所以当请求 URL 的参数部分含有中文字符,需要转换字符的编码. Enumer ...

  9. 【AngularJs】---"Error: [ng:areq] Argument 'fn' is not a function, got undefined"

    项目中把controller.service抽取出来 一步一步没有报错 index那里加 <script src="js/controllers/XXController.js&quo ...

  10. spring+hibernate管理多个数据源(非分布式事务)

    本文通过一个demo,介绍如何使用spring+hibernate管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立 ...