C#删除仅基于单击的第一个控件的2个动态控件

时间:2013-11-11 17:46:03

标签: c# winforms oop

我为每个PictureBox创建了一些动态创建的LabelPictureBox,以及一个名为“删除”的ContextMenu ToolStripMenuItem。 ..我只想删除与点击的PictureBox相关的LabelPictureBox,但ContextMenu附加到所有PictureBox'只有,而不是Label

有没有办法只根据点击的第一个按钮一次删除两个控件?

怎么做?

2 个答案:

答案 0 :(得分:2)

创建PictureBox时,在PictureBox的Tag()属性中存储对关联Label的引用:

Label lbl = new Label();
PictureBox pb = new PictureBox();
pb.Tag = lbl;

稍后您可以删除它们:

// ...assuming "pb" now refers to the PictureBox that fired the ContextMenu...
((Control)pb.Tag).Dispose();
pb.Dispose();

答案 1 :(得分:1)

您可以将第一个控件中另一个控件的id存储为其属性。现在,您可以使用第一个控件单击事件中的属性删除第二个控件。