0

我有一个主表单和标签页,里面有一些页面。

在第一页上有一个标记为编辑,比如,edit1。在第 2 页上有一个打开新窗口(表单)的按钮。在此表单上,将有另一个标记为 edit2 的编辑。

问题是:如何将edit1的值与edit2的值进行比较?

4

2 回答 2

1

你需要有:

  1. 对主要形式的引用,比如MainForm: TMainForm
  2. 对另一种形式的引用,比如说OtherForm: TOtherForm

然后你可以写:

if MainForm.Edit1.Text = OtherForm.Edit2.Text then
  ....

那可行。但是,如果您的两个表单通过公共属性公开文本会更好。这将避免你需要在他们的内部四处寻找。

于 2013-11-05T11:38:21.547 回答
0

如果表单由 show() 显示,可能的解决方案可能是:

procedure TForm1.Button1Click(Sender: TObject);
begin
  form2.Show();
  if self.edit1.text= form2.edit2.text
    then ShowMessage('Equals!');
end;

但是,如果 form 是 DMI 子项,则此解决方案没有多大意义,因为无法保证值会发生变化。如果您使用 ShowModal(),这将有效。

于 2013-11-05T11:42:36.400 回答