Delphi 在编辑框中输入文本;德尔菲

Delphi 在编辑框中输入文本;德尔菲,delphi,Delphi,我试图通过用户单击Delphi表单上的按钮将字符输入编辑框按钮1将字符'1'添加到编辑框的内容中按钮2添加字符'2',等等 以下是事件处理程序中每个按钮的相关代码-以添加1为例: Edit1.text := Edit1.Text + '1'; 问题是,单击某些按钮可确保a数字显示在编辑框中,而单击其他按钮则不会,即不会显示任何数字 谁能解释一下我做错了什么,解释一下问题是什么?我对所有这些都不熟悉。将此事件处理程序添加到表单中: procedure TForm1.NumberButtonCli

我试图通过用户单击Delphi表单上的按钮将字符输入编辑框<例如,代码>按钮1将字符
'1'
添加到编辑框的内容中<代码>按钮2添加字符
'2'
,等等

以下是事件处理程序中每个按钮的相关代码-以添加
1
为例:

Edit1.text := Edit1.Text + '1';
问题是,单击某些按钮可确保a数字显示在编辑框中,而单击其他按钮则不会,即不会显示任何数字


谁能解释一下我做错了什么,解释一下问题是什么?我对所有这些都不熟悉。

将此事件处理程序添加到表单中:

procedure TForm1.NumberButtonClick(Sender: TObject);
begin
  Edit1.Text := Edit1.Text + (Sender as TButton).Caption;
end;
使用对象检查器的事件选项卡,将面板上所有按钮的OnClick处理程序设置为上述事件处理程序


这在Delphi10.1和Delphi2007中非常有效。如果它对您不起作用,那么您会遇到其他问题,需要发布足够的代码以供我们用于重现该问题。

请提供一个显示实际问题的示例。在它们停止出现之前,您可以添加多少个字符?这种行为有规律吗?您是否考虑到,如果您添加的字符超过了TEdit的显示范围,则TEdit不会自动水平滚动?谢谢。问题不在于编辑框不能滚动;输入到编辑框中的数据非常适合这个框。是的,我确实在使用Tedit。目的是在不使用键盘的情况下输入字符序列。也就是说,用户点击了第一条消息中提到的按钮。你能提供一个你试图做什么的屏幕截图吗?我不确定你有什么问题。是否您已经在代码中创建了多个按钮和事件处理程序,但尚未将按钮的
OnClick
事件链接到相应的事件处理程序?按钮包含在Tpanel上,Tpanel本身与editbox使用相同的delphi表单。我没有使用tmemo。如果这不起作用,那么你一定不能使用Delphi:-)哈哈!谢谢你的建议。我从来没有想到过。不知何故,我似乎确实解决了这个问题。我仍在学习如何像程序员一样思考,还有很长的路要走!再次感谢。