如何在C#中执行Label click?

时间:2013-08-02 18:34:28

标签: c# click label

我有一个标签作为按钮。我希望当我按下按钮时,点击事件到此标签即可采取行动。例如

private void Label1_Click(object sender, EventArgs e)
{
    MessageBox.Show("I pressed this label and showed me this messagebox");
}

现在我想要按下此按钮,标签1点击事件

private void button1_Click(object sender, EventArgs e)
{
    // I want when I press this button something like this happens
    Label1.PerformClick();
}

5 个答案:

答案 0 :(得分:5)

private void button1_Click(object sender, EventArgs e)
{
   Label1_Click(sender, e);
}

现在,如果要在一个方法中显示单击了哪个控件的消息,请执行以下操作

private void label1_Click(object sender, EventArgs e)
{
    Control control = (Control)sender;
    var name = control.Name;
    MessageBox.Show(string.Format("I pressed this {0} and showed me this messagebox",name));
}

答案 1 :(得分:2)

两种方法。

<强>首先

private void button1_Click(object sender, EventArgs e)
{
   Label1_Click(sender, e); // Just call the Label's click handler
}

<强>第二

// Bind the Label1_Click handler to the button1 Click event, as they both use the same delegate
button1.Click += new EventHandler(Label1_Click); 

使用第二种方法,请注意在C#委托中多播,因此button1_Click处理程序 Label1_Click处理程序都将单击按钮时按照它们绑定的顺序调用。

答案 2 :(得分:0)

private void button1_Click(object sender, EventArgs e)
{
     //What the label click do:
      MessageBox.Show("I pressed this label and showed me this messagebox");
}

这不容易吗? 你为什么要这样做?

答案 3 :(得分:0)

我认为只需点击按钮即可轻松添加标签点击功能。也许甚至可以用自己的方法分离每个部分,并通过按钮点击来调用它们。您可以通过以下方式拨打其他点击事件。

private void button1_Click(object sender, EventArgs e)
    {
        label1_Click(sender, e);
    }

答案 4 :(得分:0)

public class MyLabel:Label
{
    public void PerformClick()
    {
        OnClick(new EventArgs());//InvokeOnClick(this,new EventArgs());
    }
}