C# 获取单击的按钮的文本值
试图从点击的按钮中获取文本值,在我的脑海中是这样的C# 获取单击的按钮的文本值,c#,winforms,events,C#,Winforms,Events,试图从点击的按钮中获取文本值,在我的脑海中是这样的 private void button2_Click(object sender, EventArgs e) { string s = thisbutton.text } 触发事件的对象是发送者,因此: private void button2_Click(object sender, EventArgs e) { string s = (sender as Button).Te
private void button2_Click(object sender, EventArgs e)
{
string s = thisbutton.text
}
触发事件的对象是发送者,因此:
private void button2_Click(object sender, EventArgs e)
{
string s = (sender as Button).Text;
}
应该是这样的:
private void button2_Click(object sender, EventArgs e)
{
string s = this.button2.Text;
}
只需将sender对象强制转换为Button对象并访问text属性:
protected void btn_Click (object sender, EventArgs e){
Button btn = sender as Button;
string s= btn.Text
}
在每个内置事件处理程序中,有两个参数
sender
,e
,sender
引用触发事件的对象。第二个参数e
包含有关事件的一些信息(例如指针的位置和其他此类信息)
您只需将其设置为按钮类型并获取所需信息尝试在按钮事件中应用此示例
private void button_click(object sender, EventArgs e)
{
var getValue = ((Button)sender).Text; //this will get the value of the text using sender
}
这是一段时间前提出的问题,在我的例子中,平台可能与OP使用的略有不同,但我对GTK提出了相同的问题 我正在OSX中使用GTK2+在Xaramin/Visual Studio中开发,对我来说,最初接受的答案很接近,但产生了一个
。Text
不存在的错误。在我的例子中,它需要是标签
。这对我很有用:
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;
}
已单击受保护的无效按钮(对象发送者,事件参数e)
{
按钮btn=发送方为按钮;
lblWhichButton.Text=btn.Label;
如果(btn.Label=="this.button2.Text;
将实际从按钮2获取文本,因此文本将始终相同。我假设此事件为多个按钮共享。不要注意方法名称button2\u单击
。我确实想动态访问按钮,以便使用相同的代码。请参阅上面接受的答案。我应该更清楚一些我猜。当我使用这个按钮时,我得到的错误是“按钮”不包含文本的定义,intellisense只给我类似的文本输入。@DumitruDaniel当使用WPF时,你必须使用(发件人作为按钮)。内容。我猜。文本与Windows窗体相关。