我遇到这种情况(参见图片),现在当我在运行时将Splitter1向上移动时,Panel2高度会增加,而且Form1高度也会增加。

但是我需要知道并阻止这种类型的事件,当由于到达Splitter1而无法将Panel1.Constraints.MinHeight向上移动时,因此Panel2的高度和Form1也无法更改。

谢谢你的帮助。

-编辑-Panel1.Align:= alLeft;Splitter1.Align:= alBottom;Panel2.Align:= alBottom;

最佳答案

您可以在拆分器的CanResize事件中检查并拒绝进一步调整大小。

procedure TForm1.Splitter1CanResize(Sender: TObject; var NewSize: Integer;
  var Accept: Boolean);
begin
  Accept := ClientHeight - (NewSize + Splitter1.Height) >= Panel1.Constraints.MinHeight;
end;

10-07 23:46