c# 当你悬停鼠标时从一个图片框数组向上移动图片框

c# move picturebox from an array of picturebox up when you hover mouse

我正在处理 C# windows 表单。我有一组图片框,显示在表单上。该数组的大小为 13,并且它们并排排列。我怎样才能做到这一点,当我点击一个图片框时,它会向上移动,比如在 y 上 +20。 我制作图片框的代码。 pb1 和 p1 在上面声明

void print_Deck(int x, int y, double[] a){
        double n;
        for (int i = 0; i < 13; i++)
        {

            pb1[i] = new PictureBox();
            // pb1[1].Image = Properties.Resources.img1;
            pb1[i].Visible = true;
            pb1[i].Location = new Point(0, 0);
            this.Size = new Size(800, 600);
            pb1[i].Size = new Size(46, 65);
            pb1[i].SizeMode = PictureBoxSizeMode.StretchImage;
            pb1[i].Location = new Point(x, y);
            n= a[i];
            im = face(n);
            pb1[i].Image = im;
            this.Controls.Add(pb1[i]);
            x = x + 20;
        }
    }

你可以试试PictureBox.Top property with Anchor 属性 或者使用 PictureBox.Location.

您可以注册 PictureBox's 'Click' 事件以将 'Margin' 属性 调整为所需的数量

您可以尝试在 Picturebox 上添加 Click 事件,然后您可以在 Click 函数上尝试此代码。

您可以使用 Top 属性 来操纵位置。

Picturebox.Top -= 20; // move the picture box upward

Picturebox.Top += 20; // move the picture box downward

或使用 .Location = New Point(X,Y)

Picturebox.Location = new Point(Picturebox.Location.X, Picturebox.Location.Y + 20);

以下是将事件处理程序添加到图片框的方法。

Picturebox.Click += new System.EventHandler(this.Picturebox_ClickFunction);

然后创建一个名为 Picturebox_ClickFunction

的函数
private void Picturebox_ClickFunction(object sender, EventArgs e)
{
     PictureBox pb1 = (PictureBox)sender; // you need to cast(convert) the sende to a picturebox object so you can access the picturebox properties
}

那你就可以使用我上面提供的代码了