c# - Windows 窗体 - 从按钮类型的对象中获取文本值

标签 c# winforms visual-studio-2010

我有一个名为 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());
}

这给了我一些希望,因为我明白了:

enter image description here

这是第二部分 - 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/

相关文章:

c# - 在现有图像文件之上写文字?

c# - 如何在用户控件中引发事件并在主页中捕获它?

c# - 无法在 Visual Studio 2015 中运行迁移

c++ - 使用 std::wcin 读取 wchar_t 总是给出 LF (10, 0xA)

c# - 在构建中包含数据库文件

c# - Json 属性作为节点生成

C# ListView 项目图像

c# - 在失去焦点时更新数据绑定(bind)

c# - 使用 C# 添加键、值 XML 元素

.net - 始终安装到 "Program Files"(也在 x64 上)?