请问C#中的ToolStrip怎么动态移除ToolStripButton?

请问C#中的ToolStrip怎么动态添加、移除ToolStripButton?添加问题已经解决,可是无法移除呀,只能隐藏,请高手解决,谢谢!... 请问C#中的ToolStrip怎么动态添加、移除ToolStripButton?
添加问题已经解决,可是无法移除呀,只能隐藏,请高手解决,谢谢!
展开
 我来答
sarueu
2014-02-06 · TA获得超过813个赞
知道小有建树答主
回答量:230
采纳率:100%
帮助的人:199万
展开全部
可以用Items集合的Remove方法,其它的方法还有RemoveAt、RemoveByKey。
Remove方法你需要获取目标对象,可以遍历其控件集合获取,知道控件的Index值或Name就可以使用后面两种方法,例如使用RemoveByKey:
//添加
ToolStripButton Btn1 = new ToolStripButton();
Btn1.DisplayStyle = ToolStripItemDisplayStyle.Text;
Btn1.Name = "toolStripButton1";
Btn1.Text = "New Button";
Btn1.Size = new System.Drawing.Size(124, 22);
this.toolStrip1.Items.Add(Btn1);
//移除
this.toolStrip1.Items.RemoveByKey("toolStripButton1");
追问
谢谢,单个移除已经没有问题,如何遍历移除呢?
foreach 提示【集合已修改;可能无法执行枚举操作。】
追答
遍历移除?除非你要移除特定类型的控件或者有特殊关键字的控件,否则直接用Items的Clear方法就可以了,何必用遍历这种有性能消耗的方法来做?
包布丁
2014-02-06 · TA获得超过1358个赞
知道小有建树答主
回答量:1435
采纳率:25%
帮助的人:1226万
展开全部
            //添加
            ToolStripButton ToolStripButton1=new ToolStripButton("Button1"); //实例化按钮对象
            ToolStrip1.Items.Add(ToolStripButton1); //加入集合

            //删除
            ToolStrip1.Items.Remove(ToolStripButton1); //从集合中移除
            ToolStripButton1.Dispose(); //销毁对象
追问
谢谢,单个移除已经没有问题,如何遍历移除呢?
foreach 提示【集合已修改;可能无法执行枚举操作。】
追答
List<Control> lc = new List<Control>();
foreach(Control ca in ToolStrip1.Items)
{
lc.add(ca);
}
foreach(Control cb in ToolStrip1.Items)
{
            ToolStrip1.Items.Remove(cb);
            cb.Dispose();
}

先弄到另外一个集合里,代码手打

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式