0

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

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.
    }
}
4

1 回答 1

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 };

我会尽量避免需要它。从这个问题中不清楚你为什么想要它,但可能有更好的方法。(我也真希望那些不是你的真名……)

于 2012-12-22T19:57:23.403 回答