使用一个函数将多个按钮标题放入编辑字段

Getting multiple button captions into an edit field with one fuction

我想创建一个函数,它获取按下按钮的 Caption 并将其放入编辑字段。我有多个按钮,我不想让多个 OnClick 事件在每个事件中都有几乎相同的代码。

我已经搜索并尝试了几个小时,但似乎找不到类似的东西(但我想我不是唯一遇到这个问题的人)。

我对编程并不陌生,但我也不擅长。

编辑:我记得在 .NET 的点击函数中有一个参数是 EventArgs e,在使用 Embarcadero 时缺少它。

private void button_Click(object sender, EventArgs e)
{
    edit.Text = e.Caption; //I don't really remember the exact syntax but I hope you get what I meant
}

大多数 VCL/FMX 事件处理程序都有一个 Sender 参数,它是指向触发事件的对象的指针。例如:

void __fastcall TMyForm::ButtonClick(TObject *Sender)
{
    Edit1->Text = static_cast<TButton*>(Sender)->Caption;
}

只需将此单个事件处理程序分配给所有 TButton 对象的 OnClick 事件。 Sender 将是当前按下的按钮。

注意 Remy 的上述回答 - 对于 VCL,属性 名称是 "Caption" 但对于 FMX,按钮的 属性 名称是 "Text"