如何从该标签获取其中包含标签控件的类的对象引用?

时间:2012-12-22 19:50:45

标签: c# winforms

我有一个具有Label字段的类。现在我想从该标签中获取该类的引用。我怎样才能做到这一点? 这就是我所拥有的。

public class Abc
{
    Label l;
}
public partial class Form1 : Form
{
    private void btnins_Click(object sender, EventArgs e)
    {
       Abc ob=new Abc();
       ob.l=new new Label();
       l.Text="Right Click Me";
       l.ContextMenuStrip = cntxtdelmnu;
    }


    private void cntxtdelnode_Click(object sender, EventArgs e)
    {
       Label lbl= (Label)cntxtdelmnu.SourceControl;

       //Here I have to get the reference of ob using lbl.
    }
}

1 个答案:

答案 0 :(得分:1)

基本上,你不能。可能有多个对象,它们引用了该标签 - 或者根本没有。你无法获得“向后”的参考。您可以在Tag属性中存储引用:

Abc ob=new Abc();
ob.l= new Label();
ob.l.Text="Right Click Me";
ob.l.ContextMenuStrip = cntxtdelmnu;
ob.l.Tag = ob;

或使用对象初始化程序

Abc ob = new Abc();
ob.l = new Label { Text = "Right Click Me", ContextMenuStrip = cntxtdelmnu, Tag = ob };

我会尝试以避免需要它。从问题为何你不清楚它,但可能有更好的方法。 (我真的希望那些不是你的真名......)