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. javaScript中的原型

    最近在学习javaScript,学习到js面向对象中的原型时,感悟颇多.若有不对的地方,希望可以指正. js作为一门面向对象的语言,自然也拥有了继承这一概念,但js中没有类的概念,也就没有了类似于ja ...

  2. 安卓Design包之NavigationView结合DrawerLayout,toolbar的使用,FloatingActionButton

    注意:使用前需要添加Design依赖包,使用toolbar时需要隐藏标题头 FloatingActionButton 悬浮按钮:FloatingActionButton是重写ImageView的,所有 ...

  3. android-partition分析

    转载请注明来源:cuixiaolei的技术博客 这里讲下android的分区.具体的使用在另一片文章中介绍,这里只是把它拿出来介绍. android的存储分为两种 一种叫做RAM,如emmc标准的dd ...

  4. java笔记01-反射

    --2013年7月26日17:56:35 写文章之前,参考了这篇:http://www.cnblogs.com/Quincy/archive/2011/06/19/2084557.html 评价:这个 ...

  5. 基于BaseHTTPServer的简单存储服务器

    服务器代码: from BaseHTTPServer import BaseHTTPRequestHandler from BaseHTTPServer import HTTPServer impor ...

  6. Active Session History (ASH) Performed An Emergency Flush Messages In The Alert Log

    Active Session History (ASH) Performed An Emergency Flush Messages In The Alert Log (文档 ID 1385872.1 ...

  7. hdu 1394 树状数组

    思路:从后面往前面统计,每次先sum+=Sum(num[i]+1),然后在update(num[i]+1,1).这样每次Sum每次加的个数就是num[i]的逆序对个数. 每次从队首调一个元素到队尾,逆 ...

  8. insert 另外一种用法

    then into dept01(id) values(deptno) then into dept02(id) values(deptno) else into dept03(id) values( ...

  9. 关于docker中的几个小命令

    问题 A VirtualBox machine with the name 'vagrant_c__devops_docker_vagrant' already exists. 解决命令:VBoxMa ...

  10. MyBatis(3.2.3) - Configuring MyBatis using XML, Environment

    The key component of MyBatis is SqlSessionFactory from which we get SqlSession and execute the mappe ...