如何把ToolStripMenuItem的副本选入上下文菜单。。。?

小九 2007-12-08 10:03:35
原来的menuitem类有一个clonemenu方法,能把菜单项复制到上下文菜单中去,但是现在用MenuStrip却无法复制菜单了。用add添加的话类似剪切,根本不能实现动态选入上下文菜单。如果用手工制作一个副本再选入就不用告诉我了。。。
...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
DayDreamingBoy 2011-08-06
  • 打赏
  • 举报
回复
同求答案!等待高手解救!
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 打开ToolStripMenuItem_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) { 文件ToolStripMenuItem.DropDownItems.Clear();//清空菜单 ToolStripMenuItem menuitem1 = new ToolStripMenuItem("打开");//实例化打开菜单 文件ToolStripMenuItem.DropDownItems.Insert(0, menuitem1);//添加打开菜单 menuitem1.Click += new EventHandler(打开ToolStripMenuItem_Click);//为打开菜单指定单击事件 ToolStripMenuItem menuitem2 = new ToolStripMenuItem("退出");//实例化退出菜单 文件ToolStripMenuItem.DropDownItems.Insert(1, menuitem2);//添加退出菜单 StreamReader sr = new StreamReader("Menu.ini");//实例化读取流对象 int i = this.文件ToolStripMenuItem.DropDownItems.Count - 1;//定义历史记录位置 while (sr.Peek() >= 0)//从INI文件读取历史记录 { ToolStripMenuItem menuitem = new ToolStripMenuItem(sr.ReadLine());//实例化历史菜单 this.文件ToolStripMenuItem.DropDownItems.Insert(i, menuitem);//添加历史菜单 i++;//重新指定历史记录位置 menuitem.Click += new EventHandler(menuitem_Click);//为历史菜单指定单击事件 } sr.Close();//关闭读取流 } private void menuitem_Click(object sender, EventArgs e) { try { ToolStripMenuItem menu = (ToolStripMenuItem)sender;//获取菜单单击项 System.Diagnostics.Process.Start(menu.Text);//根据历史菜单打开指定文件 } catch { } } } }

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧