Winforms windows窗体面板上的随机坐标

Winforms windows窗体面板上的随机坐标,winforms,coordinates,panel,picturebox,Winforms,Coordinates,Panel,Picturebox,你好,我是一个windows窗体的初学者,我必须将其用于学校项目。 我的问题如下: 我有一个程序,可以在随机坐标的面板上生成图片框。我也有一个数字向上向下,它应该给出应该生成多少个框的信息 然后我做了一个for循环,它的执行次数与数字上下表中给出的次数相同。每次for循环运行时,它都会创建新的坐标,但此时它仅在0坐标上创建一个图片框 此外,图片框之间或面板边框之间的距离不允许小于10px,如果它们不应该彼此靠近,我不确定我的方法是否正确 我的代码: public Form1()

你好,我是一个windows窗体的初学者,我必须将其用于学校项目。 我的问题如下:

我有一个程序,可以在随机坐标的面板上生成图片框。我也有一个数字向上向下,它应该给出应该生成多少个框的信息

然后我做了一个for循环,它的执行次数与数字上下表中给出的次数相同。每次for循环运行时,它都会创建新的坐标,但此时它仅在0坐标上创建一个图片框

此外,图片框之间或面板边框之间的距离不允许小于10px,如果它们不应该彼此靠近,我不确定我的方法是否正确

我的代码:

public Form1()
        {
            InitializeComponent();
        }
        bool spielstatus = false;

        private void btn_Start_Click(object sender, EventArgs e)
        {
            spielstatus = true;
            lbl_infotext.Text = "Spiel läuft";
            decimal anzahlboxen = nrud_Anzahl_Boxen.Value;
            if (spielstatus == true && nrud_Anzahl_Boxen.Value != 0)
            {
                for (int i = 0; i <= anzahlboxen; i++)
                {
                    Random random = new Random();
                    int randomxloc = random.Next(panel1.MinimumSize.Width, panel1.MaximumSize.Width);
                    int randomyloc = random.Next(panel1.MinimumSize.Height, panel1.MaximumSize.Height);

                    PictureBox picbox = new PictureBox
                    {
                        Name = "pictureBox" + i,
                        Size = new Size(20, 20),
                        Location = new Point(randomxloc, randomyloc),
                        BackColor = Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255))

                    };
                    panel1.Controls.Add(picbox);
                    
                }
            }
public Form1()
{
初始化组件();
}
bool-spielstatus=false;
私有无效btn\u开始\u单击(对象发送者,事件参数e)
{
spielstatus=真;
lbl_infotext.Text=“Spiel läuft”;
十进制anzahlboxen=nrud_Anzahl_Boxen.值;
if(spielstatus==true&&nrud\u Anzahl\u Boxen.Value!=0)
{

对于(int i=0;i
Random Random=new Random();
这不应该在循环内。将
MinimumSize.Width
更改为
ClientSize.Width
,等等。