MenuItem
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的更多相关文章
- [WPF]MenuItem右侧空白
<Window> <Grid Background="SteelBlue"> <Grid.ContextMenu> <ContextMen ...
- WPF:设置MenuItem多种不同状态图标
需求描述: 给MenuItem内部的子Image设置默认图标(鼠标leave).鼠标hover图标.和选中时的图标. 注:是给Menu内个别MenuItem修改,并且是弹出子菜单. 问题描述: 1)前 ...
- unity3d拓展编辑器MenuItem的使用
MenuItem是自定义菜单栏显示 比如:[MenuItem("new/My Window")] 这样就会显示菜单new/My Window 把这个放在一个静态方法上就可以了.记住 ...
- WPF MenuItem 四种角色分析
Menu Menu的样式很简单,就是顶部的那个框,如下图 而其中的文字“文件”“图形”...是属于MenuItem的,要灵活使用MenuItem,就需要了解MenuItem.Role的作用 T ...
- WPF:MenuItem样式
基础信息 1.MenuItem 样式 <Window.Resources> <Style TargetType="{x:Type MenuItem}"> & ...
- wpf mvvm MenuItem的Command事件
这是一个事件的辅助类,可以通过它实现MenuItem的Command事件 public class MyCommands : Freezable, ICommand, ICommandSource { ...
- Menu MenuItem
Menu & MenuItem learning note Menu MenuItem MSDN Sample Code <Menu Grid.Row="0" Hor ...
- EditorWindow 和MenuItem
using UnityEngine; using System.Collections; using UnityEditor; public class ClipEventEditor : Edito ...
- 利用HTML 5中的Menu和Menuitem元素快速创建菜单
原文:Introducing the HTML5 “Menu” and “Menuitem” Elements 译文:HTML 5中Menu和Menuitem的元素介绍 译者:dwqs 今天向你介绍H ...
随机推荐
- [辛酸历程]在Mac中使用Python获取屏幕截图
一.起因 最近想做个小外挂玩玩,技术倒是不难,就是通过图片匹配加上一些判断方法来刷分.但是在最不起眼(却最容易出问题)的准备阶段卡住了. 为什么卡住了呢,简单说,因为我需要获取截屏的数据,所以就要找一 ...
- LeetCode 152
Maximum Product Subarray Find the contiguous subarray within an array (containing at least one numbe ...
- [改善Java代码]静态变量一定要先声明后赋值
建议32: 静态变量一定要先声明后赋值 这标题看着让人很纳闷,什么叫做变量一定要先声明后赋值?Java中的变量不都是先声明后使用的吗?难道还能先使用后声明?能不能暂且不说,我们先来看一个例子,代码如下 ...
- MSP430常见问题之指令系统类
Q1. IAR中怎样描述P2OUT.3脚,#define LCD_cs1 P2OUT.3; 对吗?A1:430 不能位寻址,所以一般的位操作,都通过“与”来作用.#define LCD_cs1 (P2 ...
- hdu 1394 树状数组
思路:从后面往前面统计,每次先sum+=Sum(num[i]+1),然后在update(num[i]+1,1).这样每次Sum每次加的个数就是num[i]的逆序对个数. 每次从队首调一个元素到队尾,逆 ...
- RTC之初始化
RTC为了避免初始化一般有3中方法: 一给MCU的VBAT供电,利用MCU的后备寄存器保存已经设置过时间的标志值,RTC初始化时先查询寄存器值如果是已经设置过则不用初始化设置时间 二 当不给VBUAT ...
- Sublime Text3 包管理器、插件安装
安装插件之前先要安装包管理器,包管理器的安装也很简单,复制粘贴对应版本命令代码回车即可 一.包管理器安装 1.打开Sublime3控制台,按ctrl+~ 2.输入安装包管理器命令行代码 3.注意需要联 ...
- echars3.0 柱状图y轴字体斜放
xAxis: [ { type: 'category', axisLabel: { interval: 0, rotate: 45,//倾斜角度设置,是什么时针未测 margin: 2 //距离上部的 ...
- orcale 循环插入 测试数据
以前开发一直用的是sql server 定义临时变量 循环插入数据到表中已经成为一种固定的模式,本来想orcale应该也一样吧 都是数据库.. 结果被现实无情的打击到了.在网上找办法,求大神 最后 ...
- Unity 5.4大赞:HTC Vive经典The lab渲染器开源
HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番. 仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本 ...