Съезжает элемент в .NET Framework
Вот код добавления элементов в форму, который генерируется автоматически:
this->AutoScaleDimensions = System::Drawing::SizeF(9, 20);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(1297, 605);
this->Controls->Add(this->start);
this->Name = L"MyForm";
this->Text = L"MyForm";
this->ResumeLayout(false);
this->PerformLayout();
Координаты элемента this->start
прописаны в пикселях, типо так this->start->Location = System::Drawing::Point(1002, 463);
Элемент появляется на своем месте: там, где он был поставлен в конструкторе. Но если мне нужно добавить другой элемент уже где-то ниже в коде, после кода выше, я просто пишу
this->Controls->Add(this->another);
без каких либо других строк. И тогда элемент съезжает на место, не соответствующее ему в пикселях. В таком случае приходится вручную выравнивать его по пикселям, тысячу раз запуская программу и смотря на его теперешнее положение. Как избежать этого или что не так у меня?