procedure TForm1.SpeedButton1Click(Sender: TObject);
var
FormKcsp2:TForm1;
begin
FormKcsp2:=TForm1.Create(nil);
FormKcsp2.Top:=Form1.Top+20;
FormKcsp2.Left:=Form1.Left+20;
FormKcsp2.ShowModal;
FormKcsp2.Free;
end;这样写只有A和B窗口互相错位,然后B里打开的窗口和B就会重叠,一直打开的窗口都重叠了,怎么办?
var
FormKcsp2:TForm1;
begin
FormKcsp2:=TForm1.Create(nil);
FormKcsp2.Top:=Form1.Top+20;
FormKcsp2.Left:=Form1.Left+20;
FormKcsp2.ShowModal;
FormKcsp2.Free;
end;这样写只有A和B窗口互相错位,然后B里打开的窗口和B就会重叠,一直打开的窗口都重叠了,怎么办?
FormKcsp2.Top:=Form1.Top+20;
FormKcsp2.Left:=Form1.Left+20;这样设置只对第一个和第二个有效果,后面打开的就没效果了,重叠了
FormKcsp2.Top:=Form1.Top+20;
FormKcsp2.Left:=Form1.Left+20;
除了第一个可以偏移20以外,后面的都是这个位置,因为都是和form1的位置做对比,能不重合吗
var
FormKcsp2:TForm1;
begin
FormKcsp2:=TForm1.Create(nil);
FormKcsp2.Top:=self.Top+20;
FormKcsp2.Left:=self.Left+20;
FormKcsp2.ShowModal;
//FormKcsp2.Free;
end;
这样每次赋值取的都是当前窗体的属性 而不死form1的属性了
当前窗体的坐标属性每个都在变 而form1的坐标是固定的