c# - 具有 Text 属性的多个按钮的一个 Click 事件

标签 c# events button text properties

我想为一堆按钮制作一个点击事件。问题是我想使用按钮的文本,并将其传递给一个函数。现在点击事件被传递给一个对象发送者。当我尝试将其更改为 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);
}

关于c# - 具有 Text 属性的多个按钮的一个 Click 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22284592/

相关文章:

django - 显示内联时更改 Django Admin 的 "Add another SomeObject"- 按钮上的文本

javascript - 我的 react 输入类型 == 数字不起作用

c# - LINQ to XML 绑定(bind)到 asp.Net DropDownList

c# - WPF - 在 XAML 中绑定(bind)到在代码隐藏中创建的对象

javascript - 是否可以在asp.net中调用javascript函数来实现pageload事件?

java - 在 Java 中等待一个事件——有多难?

c# - 如何将文本值转换为 Access 数字数据类型

c# - Google AngularJS 框架 - 值得冒险吗?

javascript - 委托(delegate)事件不适用于排序后的元素

javascript - 使用angularjs更改按钮样式