具有Text属性的多个按钮的一次单击事件
本文关键字:一次 单击 事件 按钮 属性 Text 具有 | 更新日期: 2023-09-27 17:49:21
我想为一堆按钮创建一个点击事件。问题是,我想使用按钮的文本,并将其传递给一个函数。现在,click事件被传递给对象发送者。当我尝试将其更改为Button sender时,它会给出错误。但是我不知道我还能怎么处理发送者的文本。
下面是正常的代码,给出一个错误:private void guess_Click(object sender, EventArgs e)
{
guess(sender.Text);
}
我把它改成了这样,它给出了错误:
private void guess_Click(Button sender, EventArgs e)
{
guess(sender.Text);
}
问题:我如何在此单击事件中使用按钮的文本属性,这是多个按钮的单个click_event ?
步骤1:您需要将所有按钮的Button Click
事件订阅到同一个EventHandler
。因此,按钮点击你的所有按钮将触发相同的'事件处理程序。
步骤2:您需要将对象sender
转换为Button
,然后访问其Text
属性以获得按钮文本。
试试这个:
button1.Click += new System.EventHandler(MyButtonClick);
button2.Click += new System.EventHandler(MyButtonClick);
button3.Click += new System.EventHandler(MyButtonClick);
private void MyButtonClick(object sender, EventArgs e)
{
Button btnClick = (Button)sender ;
guess(btnClick.Text);
}
将发送者设置为类型按钮。
的例子:
private void guess_Click(object sender, EventArgs e)
{
guess(((Button)sender).Text);
}
您需要将发送方对象强制转换为Button
类型并使用它:
private void guess_Click(object sender, EventArgs e)
{
Button senderBtn = senderBtn as Button;
if(senderBtn != null)
{
guess(senderBtn.Text);
}
}