如何通过代码访问对象的Click事件

时间:2016-11-14 14:47:38

标签: c# winforms

我制作了一类标签类标签

class label
{
    public Label l; 
    public Label acess()
    {
        l = new Label();
        l.Text = "asdad";
        l.Left=100;
        l.Top =100;
        return l;
    }
    public Label lab 
    {
        get
        {
            return l;
        }
        set
        {
            l = value;
        }
    }

}

并调用此方法并在表单

上初始化它
Label l;
    label cls;
    public MainForm()
    {

        InitializeComponent();




        cls = new label();
        l = new Label();
        l =cls.acess();
        this.Controls.Add(l);

    }

现在我可以访问我的标签(" l")"。点击"选项通过" lab"像

cls.lab.Click = //anything

但我不知道如何使用这个语句,我只知道如何使用标签事件中的点击事件,但我不知道如何使用这个(通过代码制作)。 如果我想检查标签的文本,我该如何使用它,比如

 cls.lab.Click = {

if(lab.text=="i am the old label")
{
   lab.text = "i am the new label";
}
  }

请解释我,给出详细答案。

1 个答案:

答案 0 :(得分:1)

您可以向标签添加事件监听器,如下所示:

public MainForm()
{
    InitializeComponent();

    cls = new label();
    l =cls.acess();
    l.Click += cls_Clicked;
    this.Controls.Add(l);
}

private void cls_Click(object sender, EventArgs e)
{
    Label clickedLabel = sender as Label;
    if(clickedLabel == null) return;

    if(clickedLabel.Text=="i am the old label")
    {
        clickedLabel.Text = "i am the new label";
    }
}

我现在无法测试它,但它可以正常工作,假设您使用的是WinForms。