winforms 获取被单击按钮的文本值

jjhzyzn0  于 2023-05-01  发布在  其他
关注(0)|答案(6)|浏览(238)

我试图从单击的按钮中获取文本值。在我的脑海里,它看起来像这样:

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

zpf6vheq1#

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

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

kmb7vmvb2#

只需将sender Object转换为Button Object并访问text属性:

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

eivnm1vs3#

应该是这样的:

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

vlurs2pr4#

在每个内置事件处理程序中,都有两个参数sendereSender引用触发事件的对象。第二个参数e保存了一些关于事件的信息(例如指针的位置和其他类似的信息),您只需将其设置为Button类型并获取所需的信息

jaql4c8m

jaql4c8m5#

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

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

vc9ivgsu6#

这是一段时间前被问到的,在我的情况下,平台可能与OP使用的有点不同,但我到达了GTK的相同问题。
我在OSX中使用GTK 2+在Xamarin / 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;
}

相关问题