场景描述:ContextMenuStrip BMenu = new ContextMenuStrip ();
一个函数返回右键菜单:
ContextMenuStrip AMenu = GetTreeviewPopMenu();在下面用时:目的是将AMenu添加到BMenu上。 for(int i=0;i<AMenu.Items.Count;i++)
{
ToolStripMenuItem tsm = (ToolStripMenuItem)AMenu.Items[i];
BMenu.Items.Add(tsm);
}
BMenu.Items.Add(CommonFunction.CreatePopSubMenu("刷新", imagelist, 0, RefreshNode_Click));问题是:
如果我BMenu.Item.Clear();时AMenu就会清空!!
怎么做才不能清空?
(在不改变GetTreeviewPopMenu函数的情况下)顶有分!!
一个函数返回右键菜单:
ContextMenuStrip AMenu = GetTreeviewPopMenu();在下面用时:目的是将AMenu添加到BMenu上。 for(int i=0;i<AMenu.Items.Count;i++)
{
ToolStripMenuItem tsm = (ToolStripMenuItem)AMenu.Items[i];
BMenu.Items.Add(tsm);
}
BMenu.Items.Add(CommonFunction.CreatePopSubMenu("刷新", imagelist, 0, RefreshNode_Click));问题是:
如果我BMenu.Item.Clear();时AMenu就会清空!!
怎么做才不能清空?
(在不改变GetTreeviewPopMenu函数的情况下)顶有分!!
解决方案 »
- 关于WebBrowser的应用
- 正则替换连接,求高手指导、百分求解答.求Rp、...
- 大家来帮忙,求一个(c#c/s 美萍手机销售管理系统)源码供学习.
- gridview的PagerTemplate 不显示内容
- string 与 stringbuilder的区别是什么?
- 数据库中表中元素赋值问题!!!(续)
- 网上两台机器间的消息(xml)通信问题?
- 急急急急急急急急急急急急急急急急急
- 请问在C#的richtextbox 和 textbox 中如何控制内容滚动
- ASA.net快速入门里的示例不能运行,请高手解决!送100分!
- 高手赐教:C#网页登陆某系统后退出功能的实现?
- 使用app.config配置文件.在本地测试可以运行.拷到别的机器则出错
所以会清空你再添加到BMenu之前再重新调用下GetTreeviewPopMenu
ContextMenuStrip temp = GetTreeviewPopMenu();
for(int i=0;i<temp.Items.Count;i++)
{
ToolStripMenuItem tsm = (ToolStripMenuItem)temp.Items[i];
BMenu.Items.Add(tsm);
}
重新调用下GetTreeviewPopMenu 之后就已经为空了。
还有什么好办法?
里面你都干了些啥,
清空AMenu的东西??里面最好是new一个新的
而不是重新new原来的变量
{
return Amenu;
}
而Amenu是在系统初始化时创建的,
我之所以这样做就是不想每一次GetTreeviewPopMenu都创建!
这句话岂不是没有任何意义???GetTreeviewPopMenu里面还是new一个新的ContextMenuStrip 吧
然后分别给AMenu和BMenu赋值
{
public A()
{
ContextMenuStrip AMenu = ContextMenuStrip ();
AMenu.Item.Add(XX);
AMenu.Item.Add(XX);
AMenu.Item.Add(XX);
} public ContextMenuStrip GetTreeviewPopMenu()
{
return AMenu
}
}整个就是这样的..原因就是我不想每一次都new,所以就直接返回了。