使用一个函数将多个按钮标题放入编辑字段
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"
我想创建一个函数,它获取按下按钮的 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"