获取单击的按钮的文本值

时间:2015-10-23 10:01:22

标签: c# winforms events

尝试将文本值从单击的按钮中获取,在我的脑海中就是这样......

private void button2_Click(object sender, EventArgs e)
        {
           string s =  thisbutton.text
        }

7 个答案:

答案 0 :(得分:19)

触发事件的对象是sender,所以:

private void button2_Click(object sender, EventArgs e)
{
    string s = (sender as Button).Text;
}

答案 1 :(得分:2)

应该是这样的:

private void button2_Click(object sender, EventArgs e)
{
  string s =  this.button2.Text;
}

答案 2 :(得分:2)

只需将发件人对象转换为Button对象并访问text属性:

protected void btn_Click (object sender, EventArgs e){
   Button btn = sender as Button;
   string s= btn.Text
}

答案 3 :(得分:1)

在事件处理程序的每个构建中,有2个参数sendereSender引用触发事件的对象。第二个参数e包含一些有关事件的信息(例如指针的位置和其他此类事件) 您只需将它带到按钮类型并获取您想要的信息

答案 4 :(得分:0)

尝试在按钮事件中应用此示例

private void button_click(object sender, EventArgs e)
{
   var getValue = ((Button)sender).Text; //this will get the value of the text using sender
}

答案 5 :(得分:0)

上面的示例对我不起作用,所以我尝试了:

private void button2_click(object sender, EventArgs e)
{
   string s = (sender as Button).Content.ToString();
}

答案 6 :(得分:0)

之前有人问过这个问题,我所使用的平台可能与OP所使用的平台略有不同,但是我对GTK提出了相同的问题。

我正在使用GTK2 +在OSX的Xaramin / Visual Studio中进行开发,对我来说,最初的接受答案很接近,但是会产生错误.Text不存在。就我而言,它必须为Label。这对我有用:

protected void Button_Clicked(object sender, EventArgs e)
{
    Button btn = sender as Button;

    lblWhichButton.Text = btn.Label;
    if (btn.Label == "<<<" )
        i--;
    else
        i++;
    lblCounter.Text = "" + i;
}