我有一个名为 Form1
的 Windows 窗体和此窗体中名为 panel1
的面板。我只使用面板将按钮放在那里,以便我可以将它们分组并与 Form1
中的其他按钮分开使用。出于我的程序的目的,我需要处理从 panel1
中的按钮发出的每个按钮点击。为此,我使用相同的代码片段:
public Form1()
{
InitializeComponent();
// Set a click event handler for the button in the panel
foreach (var button in panel1.Controls.OfType<Button>())
{
button.Click += HandleClick;
}
}
我需要做的是找到一种方法来识别究竟是哪个按钮被点击了。为此,我对我的处理程序方法进行了一些尝试:
private void HandleClick(object o, EventArgs e)
{
MessageBox.Show("HI" + o.ToString());
}
这给了我一些希望,因为我明白了:
这是第二部分 - Text: button4
这实际上是足够的信息来继续我的工作。但是如果不进行一些复杂的字符串操作,我找不到获取这条信息的方法。那么,根据我编写代码的方式,是否有办法获取有关已单击按钮的此信息或其他独特信息?
最佳答案
private void HandleClick(object sender, EventArgs e)
{
var btn = sender as Button;
if (btn != null)
{
MessageBox.Show(btn.Text);
}
}
关于c# - Windows 窗体 - 从按钮类型的对象中获取文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14611226/