社区
C#
帖子详情
如何把ToolStripMenuItem的副本选入上下文菜单。。。?
小九
2007-12-08 10:03:35
原来的menuitem类有一个clonemenu方法,能把菜单项复制到上下文菜单中去,但是现在用MenuStrip却无法复制菜单了。用add添加的话类似剪切,根本不能实现动态选入上下文菜单。如果用手工制作一个副本再选入就不用告诉我了。。。
...全文
60
1
打赏
收藏
如何把ToolStripMenuItem的副本选入上下文菜单。。。?
原来的menuitem类有一个clonemenu方法,能把菜单项复制到上下文菜单中去,但是现在用MenuStrip却无法复制菜单了。用add添加的话类似剪切,根本不能实现动态选入上下文菜单。如果用手工制作一个副本再选入就不用告诉我了。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DayDreamingBoy
2011-08-06
打赏
举报
回复
同求答案!等待高手解救!
HistoryMenu(历史
菜单
)
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 HistoryMenu { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void 打开
Tool
Strip
MenuItem
_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*.*(所有文件)|*.*";//设置打开文件格式 if (openFileDialog1.ShowDialog() == DialogResult.OK)//判断是否打开选择文件对话框 { StreamWriter s = new StreamWriter("Menu.ini", true);//实例化写入流对象 s.WriteLine(openFileDialog1.FileName);//向INI文件写入内容 s.Flush();//清除缓冲区 s.Close();//关闭写入流 System.Diagnostics.Process.Start(openFileDialog1.FileName);//打开选择的文件 } Form1_Load(sender, e);//重新加载
菜单
} private void Form1_Load(object sender, EventArgs e) { 文件
Tool
Strip
MenuItem
.DropDownItems.Clear();//清空
菜单
Tool
Strip
MenuItem
menuitem
1 = new
Tool
Strip
MenuItem
("打开");//实例化打开
菜单
文件
Tool
Strip
MenuItem
.DropDownItems.Insert(0,
menuitem
1);//添加打开
菜单
menuitem
1.Click += new EventHandler(打开
Tool
Strip
MenuItem
_Click);//为打开
菜单
指定单击事件
Tool
Strip
MenuItem
menuitem
2 = new
Tool
Strip
MenuItem
("退出");//实例化退出
菜单
文件
Tool
Strip
MenuItem
.DropDownItems.Insert(1,
menuitem
2);//添加退出
菜单
StreamReader sr = new StreamReader("Menu.ini");//实例化读取流对象 int i = this.文件
Tool
Strip
MenuItem
.DropDownItems.Count - 1;//定义历史记录位置 while (sr.Peek() >= 0)//从INI文件读取历史记录 {
Tool
Strip
MenuItem
menuitem
= new
Tool
Strip
MenuItem
(sr.ReadLine());//实例化历史
菜单
this.文件
Tool
Strip
MenuItem
.DropDownItems.Insert(i,
menuitem
);//添加历史
菜单
i++;//重新指定历史记录位置
menuitem
.Click += new EventHandler(
menuitem
_Click);//为历史
菜单
指定单击事件 } sr.Close();//关闭读取流 } private void
menuitem
_Click(object sender, EventArgs e) { try {
Tool
Strip
MenuItem
menu = (
Tool
Strip
MenuItem
)sender;//获取
菜单
单击项 System.Diagnostics.Process.Start(menu.Text);//根据历史
菜单
打开指定文件 } catch { } } } }
C#实现Winform动态添加
菜单
的方法
主要介绍了C#实现Winform动态添加
菜单
的方法,涉及C#操作
菜单
的技巧,需要的朋友可以参考下
C# 遍历
菜单
(menu
strip
)加入Treeview下
初学C#,查了些资料,写了一个Bianli类(也就两个函数),然后加入Treeview树形列表中,用法 Bianli bianli=new Bianli(menu
strip
(你的menu
菜单
),treeview(你的树形列表)).我只是初学,写的不好大家别喷我啊。 注意:我的代码里面没有涉及对
菜单
的判断,也就是全部默认大家的
菜单
列表中只有
Tool
strip
menuitem
没有
tool
Strip
Separator。大家的
菜单
中如果有
Tool
Strip
Separator,写几条if语句判断一下就行了。
C# 創建彈出式菜單(
Tool
Strip
MenuItem
).doc
方法: 1、創建一個菜單項數組。 2、在數組中增加菜單項 3、創建一個彈出式引用菜單 4、將菜單與菜單項加入到彈出式引用菜單中 5、將控件的ContextMenu
Strip
屬性設置成彈出菜單
c#
菜单
动态合并的实现方法
说明 在程序中经常使用弹出
菜单
,并且一个窗体中可以存在多个弹出
菜单
。开发过MDI窗体的读者可能都知道,当MDI子窗体最大化时,子窗体和主窗体的
菜单
能够自动的合并。这是如何实现的呢?本例实现了将两个弹出
菜单
动态的合并成一个弹出
菜单
的功能。实例效果如图1.2所示。 要点 C# 2.0中已经将弹出
菜单
封装为Context Menu
Strip
控件,利用该控件中的Items对象可以操作
菜单
中的
菜单
项。该对象是
Tool
Strip
MenuItem
类型,使用Items.AddRange( )方法可以向弹出
菜单
中添加
菜单
项,该方法原型如下。 public void AddRange (
Tool
Strip
C#
110,532
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章