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. [未完成]关于xml文件的解析

    附录一个比较特别的xml文件. MultiNamespaceInlineRequest.xml <?xml version="1.0" encoding="ISO- ...

  2. MSP430常见问题之通信类

    Q1: 430 串口中,有个R/D 控制线,在接收上位机的数据,但本身的数据有无发送完毕不知道啊,什么时候才可置低R/d 位来接收数据啊?好像430 没有发送完中断标志A1:字节主动发送,一般都能发出 ...

  3. hdu1565 网络流或状态压缩DP

    对于网络流有一个定理: 最小点权覆盖集=最大网络流: 最大点权独立集=总权值-最小点权覆盖集: 网络流解法代码如下: #include<cstdio> #include<iostre ...

  4. Javascript中的冒泡排序,插入排序,选择排序,快速排序,归并排序,堆排序 算法性能分析

    阿里面试中有一道题是这样的: 请用JavaScript语言实现 sort 排序函数,要求:sort([5, 100, 6, 3, -12]) // 返回 [-12, 3, 5, 6, 100],如果你 ...

  5. Ehcache(2.9.x) - API Developer Guide, Key Classes and Methods

    About the Key Classes Ehcache consists of a CacheManager, which manages logical data sets represente ...

  6. ASP判断当前页面上是否有参数ID传递过来

    遇到了一个这样的ASP问题: 在当前页面上判断,是否有参数ID传递过来? 如果没有,显示“没有参数传递过来”. 如果有传递,但值为空,显示“存在参数,但参数为空” <% if (request( ...

  7. Asp.net MVC 4 Html帮助类 II

    Html Helpers @Html.AntiForgeryToken It generates a hidden form field (anti-forgery token) that is va ...

  8. Android 分析工具 APKAnalyser

    APKAnalyser 是 Android 静态,虚拟分析工具,用来测试和验证 Android 应用的开发工作.ApkAnalyser 是个完整的工具链,可以修改二进制应用.用户可以改装,安装,运行, ...

  9. JDBC之数据库操作

    JDBC重要界面有: java.sgl.DriverManager:完成驱动程序的装载和建立新的数据库连接. java.sgl.Connection:表示对某一指定数据库的连接. java.sgl.S ...

  10. JDBC(用Eclipse操作数据库Oracle)的基础操作集合

    JDBC: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...