gpt4 book ai didi

c# - 如何防止我的第一个按钮在创建新按钮时消失?

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:44 24 4
gpt4 key购买 nike

我正在尝试在运行时绘制图片框,因为我可以直接从工具箱中进行操作。也就是说,将位置设置在鼠标位置,在按住按钮并将其拖过窗体时调整其大小。我在代码中完成的所有工作。但是当我开始绘制第二个图片框时,第一个图片框消失了,如果我删除 MouseMove 事件并移动 PictureBox pb1 = new PictureBox() ,我想继续向表单添加更多图片框;MouseDown 事件,它允许我添加更多按钮,但显然我无法调整它们的大小。

    int cellSize = 10;
int numOfCells = 500;

PictureBox pb1 = new PictureBox();
int Mx, My;

public Form1()
{
InitializeComponent();
this.DoubleBuffered = true;
}

public void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
Point p = new Point(e.X, e.Y);
Mx = p.X;
My = p.Y;
int xSnap = (Mx / cellSize) * cellSize;
int ySnap = (My / cellSize) * cellSize;

pb1.BackColor = (Color.Red);

if (e.Button == MouseButtons.Left)
{
pb1.Size = new Size(xSnap - pb1.Left, ySnap - pb1.Top);
}
}

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Point p = new Point(e.X, e.Y);
Mx = p.X;
My = p.Y;
int xSnap = (Mx / cellSize) * cellSize;
int ySnap = (My / cellSize) * cellSize;

pb1.Location = new Point(xSnap, ySnap);
pictureBox1.Controls.Add(pb1);
}

最佳答案

您总是重复使用相同的 PictureBox 实例。

每次要添加新实例时,都需要创建一个新实例,方法是编写 new PictureBox()

关于c# - 如何防止我的第一个按钮在创建新按钮时消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13254318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com