アプリケーションの背景として画像を含む PictureBox があり、すべてのアンカーが設定されているため、フォームに合わせてサイズを変更できます。この PictureBox では、他の多くのものを作成していますが、今は長方形のみです。X 座標と Y 座標で作成していますが、問題ありません。私がやろうとしていることを示すために写真を追加します。作成された長方形は、実際には小さな水色の正方形です。
しかし、フォームのサイズを変更すると、たとえば最大化すると、長方形は同じ座標にとどまります。もちろん、現時点では別の場所にあります(スペースを節約するために画像の一部のみを含む):
私の質問は-どうすれば作成できますかサイズ変更中に、長方形がそのまま同じ場所に「くっつく」?注 - 2 秒ごとなど、後で移動する必要があるため、完全に静的にすることはできません。
編集:これは、長方形を作成するコードの一部です
private void button1_Click(object sender, EventArgs e)
{
spawn = "aircraft";
pictureBox1.Invalidate();
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
switch (spawn)
{
case "aircraft":
Point[] points = new Point[2];
Point bod = new Point(750, 280);
points[0] = bod;
aircraft letadlo = new aircraft(605, 180, "KLM886", 180, e.Graphics);
aircrafts[0] = letadlo;
letadlo.points = points;
break;
...
public aircraft(int x, int y, string csign, int spd, Graphics g)
{
Pen p = new Pen(Color.Turquoise, 2);
Rectangle r = new Rectangle(x, y, 5, 5);
g.DrawRectangle(p, r);
p.Dispose();