我试图从单击的按钮中获取文本值。在我的脑海里,它看起来像这样:
private void button2_Click(object sender, EventArgs e) { string s = thisbutton.text }
zpf6vheq1#
触发事件的对象是sender,所以:
sender
private void button2_Click(object sender, EventArgs e) { string s = (sender as Button).Text; }
kmb7vmvb2#
只需将sender Object转换为Button Object并访问text属性:
protected void btn_Click (object sender, EventArgs e){ Button btn = sender as Button; string s= btn.Text }
eivnm1vs3#
应该是这样的:
private void button2_Click(object sender, EventArgs e) { string s = this.button2.Text; }
vlurs2pr4#
在每个内置事件处理程序中,都有两个参数sender和e。Sender引用触发事件的对象。第二个参数e保存了一些关于事件的信息(例如指针的位置和其他类似的信息),您只需将其设置为Button类型并获取所需的信息
e
Sender
jaql4c8m5#
尝试并在按钮事件中应用此示例
private void button_click(object sender, EventArgs e) { var getValue = ((Button)sender).Text; //this will get the value of the text using sender }
vc9ivgsu6#
这是一段时间前被问到的,在我的情况下,平台可能与OP使用的有点不同,但我到达了GTK的相同问题。我在OSX中使用GTK 2+在Xamarin / Visual Studio中开发,对我来说,最初接受的答案很接近,但产生了一个错误,即.Text不存在。在我的例子中,它必须是Label。这对我很有效:
.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; }
6条答案
按热度按时间zpf6vheq1#
触发事件的对象是
sender
,所以:kmb7vmvb2#
只需将sender Object转换为Button Object并访问text属性:
eivnm1vs3#
应该是这样的:
vlurs2pr4#
在每个内置事件处理程序中,都有两个参数
sender
和e
。Sender
引用触发事件的对象。第二个参数e
保存了一些关于事件的信息(例如指针的位置和其他类似的信息),您只需将其设置为Button类型并获取所需的信息jaql4c8m5#
尝试并在按钮事件中应用此示例
vc9ivgsu6#
这是一段时间前被问到的,在我的情况下,平台可能与OP使用的有点不同,但我到达了GTK的相同问题。
我在OSX中使用GTK 2+在Xamarin / Visual Studio中开发,对我来说,最初接受的答案很接近,但产生了一个错误,即
.Text
不存在。在我的例子中,它必须是Label
。这对我很有效: