4

我想知道是否有一种方法可以在不等待的情况下显示 TForm(有点像 TForm.Show)。但我想要的是阻止所有其他形式(就像在 ShowModal 中一样)

例子:

我有Form1和Form2。Form1 有一个应该打开 Form2 但 Form1 被阻止的按钮,但单击该按钮仍会继续执行 Form2 打开后的代码。

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal; // ===> Something like that but the Code should continue, yet Form1 and all other forms are blocked (disabled)
  MessageBox (0, 'Code continues', '', 0);
end;

希望你明白我的意思。

4

1 回答 1

9

您可以调用 DisableTaskwindows,除了您的 Window 被禁用,然后 EnableTaskWindows 再次启用其他窗体。

  Form3.Show;
  FP:=DisableTaskwindows(Form3.Handle);
  //Some Code
  EnableTaskwindows(FP);
于 2013-02-25T06:21:17.000 回答